Toshiba Libretto 100CT/110CT PS/2 port upgrade:
Created: 22-May-2002
Last modified: 20-Mar-2003

Note:
This page is a little long-winded ... I wrote it half as a reference for myself in case I forget how I did this and half as a reference for anyone who wanted to do the same to their libby. I'd like to warn you however that anything you do to your laptop (or anything else for that matter) is your responsibility ... the procedure described here worked on my laptop, no guarantees it'll work with yours. If you want to jump straight to the procedure to add PS/2 ports to your L100/110, click HERE.

Intro:
I got my Toshiba Libretto 100CT near the end of 2001. Being small enough to carry in my backpack along with my other things (as opposed to other laptops where you'd carry other things with your laptop), yet powerful enough to run virtually anything except 3D games and high end multimedia, I've been getting a LOT of use out of it. However, like all laptops, pointing devices are a problem.

The Toshiba Librettos (at least up to the 110CT) had a little pointing stick as their pointing device but this pointing stick sits on the right side of the screen. You manipulate it with your thumb whislt the 2 buttons for left and right mouse button sit on the back of the lid. In my opinion this makes more sense than the little pencil eraser style pointing stick you find in most notebook keyboards as you've got more pressure control over your thumb than over your outstretched finger. However, it still gets annoying to use for anything more than clicking the odd button. Likewise, the keyboard is small and good for typing the odd note however for prolonged typing it really is too small. Often where I go, there are spare keyboards and mice lying around, besides which carrying around a small mouse in my backpack isn't a big deal and I've been working on a serial to PS/2 converter for my Palm Portable Keyboard so I could quite easily carry around what is an almost full sized keyboard and a nice sized mouse. The problem however becomes how to plug them into the laptop!

Unfortunately however, it isn't normally possible to plug a mouse into the Libretto as it has no external ports except for audio and docking connectors (you'd have to plug in a docking bar or port replicator to get mouse and keyboard ports). Carrying around a docking bar or port replicator sorta defeats the purpose of having such a small laptop though ...

Idea:
I got my hands on the Toshiba Workshop manual for the L100 (about 1 meg) from the Libretto Mailing List and, in flipping through it, realized that the PS/2 signal lines originate from the laptop itself and not from any smarts in the docking bar or connector. I was then told of the fact that Xin Feng at www.fixup.net had been able to bring the PS/2 mouse lines out to an external connector. I figured I'd give it a try.
Note: Xin Feng has since released details of his PS/2 mod so if you want an alternative (more concise!) explanation you may wish to view his webpage. He also offers to perform the modification for a fee if you don't feel too confident with a soldering iron and has details of a nice little PS/2 optical mouse suitable for use in this situation.

I wanted to make doubly sure that what was coming out of the laptop was going straight into the PS/2 ports ... after all, it could well be low-level signals going across the docking connector and the signal may well need to be passed through some line driver before going out the PS/2 ports (as is the case with the RS-232 port). However, a continuity test between the docking connector on the port replicator (EPR) and its external ports (with no libby of course) came back with a fraction of an ohm and almost an open circuit between those lines and ground or +5V so I'm pretty sure there aren't any pull-ups or pull-downs involved.

Next step was to try and figure out where I could solder to on the libby. According to the workshop manual, the keyboard controller sits HERE. I took the top off the laptop and put it onto the EPR then did a continuity test between the PS/2 ports and that chip and found THESE lines to be the ones that control the PS/2 lines. Finding a ground line as well was easy, however finding where I could get 5 volts REALLY got me annoyed ... there wasn't a single chip on the top of the motherboard I could find that had continuity with the 5V lines on the PS/2 ports on the port replicator! Finally, after more poking around, I found that there was ONE point up the top of the motherboard HERE which had direct continuity ...

Before I could start soldering wires though, I realized that whilst there was continuity between the PS/2 ports and the keyboard (and mouse) controller, there seemed to be some 150 ohms flying around. At first I blamed that on a dud connection somewhere (I was using dressmaking pins as probes because my normal DMM probes were too big!) but I realized that there might be something else between the ports and the chip. Turning the motherboard over, I realized that there was a resistor array between the chip and the external ports, confirmed by eyeballing the traces from the other side of that resistor array right to the docking connector (of course I couldn't see which pins went were after that). Measuring between that resistor array and the docking connector gave me a fraction of an ohm so I was pretty sure this was the right place to solder to. In addition, its a LOT easier to solder to an SMD resistor array than an SMD IC since the legs on a resistor array are set into the packaging (so you need to be pretty careless to bridge them).

What you'll need:

What pin goes where:
The PS/2 port consists of 4 pins being data, clock, +5V and ground. The pinout is identical for both mouse and keyboard (actually thats not quite correct, the pins that are normally marked 'N/C' can vary but that is of no concern to us for this purpose). The pinout is as follows, taken from Adam Chapweske's website at http://govschl.ndsu.nodak.edu/~achapwes/PICmicro/PS2/ps2.htm:

Looking at the FRONT of the MALE plug (that is, the mouse/keyboard cable end)

Looking at the FRONT of the FEMALE socket (that is, the computer side)

The pins are:

  1. Data
  2. (N/C)
  3. Ground
  4. +5V
  5. Clock
  6. (N/C)

These can be matched to locations on the Libretto motherboard as follows:

On the bottom of the libretto motherboard, next to the battery connector is the resistor array with the 4 data lines. You can solder to either the resistor array marked 150 or the resistor array marked 103, they're tied together anyway..

NOTE: It appears there is a different version of the Libretto circuit board flying around as well which doesn't have that big flat-pack IC on it. The 2 resistor arrays should be in the same place however, and the data lines appear to be in the same order. Xin Feng at www.fixup.net has images from this version.

You can get access to the IFVCC line for 5V from the upper side of the motherboard.

You can get ground from here. Note that the data arrows in this diagram indicate where the pins are on the keyboard controller. Do NOT solder to here as doing so will bypass the 150 ohm dropping resistors in the resistor array.

 

Procedure:
Here's the procedure I used to put the ports onto my laptop ... if you've seen the pictures above and think you'll be fine to figure out the rest then you probably don't need to read the rest and have me insult your intelligence (actually you probably should read the rest and tell me if anything could be done better!) ... otherwise, read on!

I recommend you do this ONLY if you've got REALLY steady hands and have had some experience working with static sensitive devices (ie. you know all the do's and don'ts when handling these things) and have had some experience doing soldering to surface mount devices. Also I recommend you do this with a reasonable soldering iron ... you don't need a soldering station, I did mine with a $20USD mains powered iron but I made sure I got a brand new 0.8mm tip on it before I started (a 0.2mm or 0.6mm tip would have been even better but there aren't any of those for this iron).

Firstly, you need to take apart the libby. If you're nervous, download the workshop manual above and just follow the instructions. Make SURE you remember which screw goes where though otherwise you may damage something on reassembly. You need to take it apart fully until you have just the motherboard sitting on your (anti-static mat covered) workbench. Now measure out the distances to the 5V point, ground point (you could take that from anywhere, I took it from the battery connector) and the 4 data pins and cut the pieces of ribbon cable to length. Note that you'll have to be REALLY careful routing that cable as you don't want to get it sandwiched between the circuit board and the supports as that motherboard needs to sit flat against the supports or it'll crack, plus the wire is so thin that any prolonged pressure is likely to wear through the insulation. Try to cut the 4 data wires such that as little of the cable as possible is above the flatpack IC thats just under the resistor array as there is virtually no clearance between that chip and the hard drive once its installed. I routed the wires as follows. Don't stick them down yet ...

Note that in this diagram, the red 5V wire goes around the LEFT side of the hole next to the docking bar. Since taking this picture, it was realized that it'll run into the docking connector support in the bottom of the case so its been moved to go round the RIGHT side of that hole.

The next step is to solder the wires on. The ground wire is easy as is the 5V ... just make sure you don't put too much heat on that resistor at the 5V point or it'll come right off! The tricky bit though is soldering to that SMD resistor array. I found its easiest if you strip off about half a millimeter of insulation off the ribbon cable then tin the end reasonably heavily. Then very quickly melt the solder 'laps' on the 103 resistor and add a little bit more solder. After that, one by one lay the wires ACROSS the 103 resistor with the end just touching the pin you want to solder to and touch it with the iron. Yes I know, putting solderin on 2 bits then melting them together isn't the PROPER way of soldering (you SHOULD be adding solder when you bring the components together) but I've not found a better way of doing it to such small components. Of course, these solder joints will NOT be very strong at all so be very careful when you handle it! Also make sure you keep as much wire off that flatpack IC as possible (in the diagram above it shows the wire overlapping that IC, I pushed the wire into the gap between the resistor array and that flatpack IC after the photo was taken). Make sure you don't get the wires backwards, if you look closely I've marked on the remaining 4 strands which strand was closest to strand 1 (the red one), that one is in this case connected to the keyboard clock line. I used the ordering from 1 (red stripe) of 5V, ground, keyboard clock, keyboard data, mouse clock and mouse data.

Now that the hard part is done, all thats required is to route the cable out! I left plenty of length of cable out and that extra length will be folded back on itself just next to the IrDA port. I left a good 3cm or so extra just in case the next time I take the motherboard out, I forget to remove that cable. Hopefully, by the time I've moved the motherboard far enough away from the case to have used up the slack in that cable I'd have remembered the cable and stopped moving it! Alternatively, if I didn't want to disconnect the cable, I'd still have enough room to take the motherboard out without breaking anything.

Finally, to put the connector on! Here's how I did it.

Obvious here is the ordering ... for each half I've gone 5V, ground, clock, data (notice the loop wires for the 5V and ground lines). The upper (left) half is for keyboard, the lower half is for mouse. I put the wire out the IrDA port as there just isn't room to get it out the reset hole, besides which the reset hole is in the top half of the case but when you take the libby apart, the motherboard stays in the bottom half. The IrDA window unclips from the inside. If you don't want to lose it, if you remove the white fabric tape from above the keyboard controller IC (see above), you can tape that window over the keyboard controller IC and leave it there for safekeeping. There's sufficient clearance between the top of the keyboard controller and the keyboard itself such that the extra bit of plastic in there won't put pressure on the motherboard. If you're nervous, put a little blob of blu-tak on top of the piece of plastic, put the keyboard back on and see if it gets flattened.

Don't make the same mistake I've made here ... if I were to do this again I'd move the connector as close to the front edge as possible since, where it is at the moment, it runs into the right hand support on the port replicator ... I've yet to figure out how to fix mine since its all glued in place now! I might move it next time I take the libby apart (and need to break the hot glue joins) ...

Here's the connector without the strain relief or outer shielding ... nice neat arrangement.

And here's the other end where it'll plug into the libby.

Here's the keyboard and mouse cords (which are wired up identically) ... the plastic bits glued onto the heat shrink coverings make sure not only is it impossible to plug the mouse cable into the keyboard port (its really only important because the OTHER end of the cable is marked ... it'd get confusing if the markings got switched), but it also makes sure I won't get the flat connector displaced by one pin (very easy if you're plugging it in by feel). If I accidentally tried to plug it in too high, the 'lip' on the plastic shield will hit the connector. If I tried to plug it in too low, that same lip will hit the table and the lowest pin will hit the hot glue 'bump' I've put on the bottom of the connector for that purpose.

 

Results:
In a way, this upgrade worked even better than I thought it would. I was expecting to have to have the keyboard and mouse plugged in before turning the laptop on and that hot plugging was out of the question. It turns out, if you set the pointing device mode in the BIOS to 'simultaneous', you can boot up and, at any time, plug the mouse in and it'll pick up! I've only tried this on a plain vanilla 2 button mouse though, I'd imagine the libby would have a bit of trouble if you used a wheel mouse (unless you already had the drivers installed and somehow got them to pick up). The keyboard is a little trickier ... if you want to plug it in you'll need to at least suspend the libby before plugging it in. You can unplug it at any time though. Through all this, both the libby's inbuilt keyboard/mouse work as well as the external ones. I've not had any noticeable reduction in battery life (although I can't say I've timed it yet) and I've not had any other weird behaviour ... but time will tell eh?

 

So there you have it! Easy eh? Now I can actually play a PROPER game of Quake 2 on my libby without needing the bulky EPR ;-)

 

Have fun and good luck!

 



Update:
Whilst at a local computer fair, I ran into this tiny optical USB mouse which would seem to be quite suitable for this notebook. It has a proper scroll wheel with button (like a normal full sized scrollmouse) as well as left and right mousebuttons but the whole thing measures just 75mm by 35mm and is less than 20mm high! The best thing about this mouse is that it comes with a winder halfway down the cable. Pull the ends once and it extends up to a good 60-odd cm, give the ends another gentle tug and the mechanism winds the cables back in.

At less than $30AUD (about $15USD) this mouse certainly seems to be better value than the Atek or Targus equivalents. However, unlike other cheaper optical mice, this one doesn't appear to have 'drifting' bias problems (where if you shake it side to side on a tabletop rapidly, the average position of the mouse pointer shifts to one side or the other). It also doesn't exibit any 'jumping' when you move it slowly, making it good for fine work. The size does take some getting used to though ...

Although the mouse is USB, it does work on PS/2 ports if you use an adapter (the one I'm using came with my Logitec USB mouse but it would seem that any adapter of this type will do, otherwise they sell for about $1USD each).

Here are some picture of the mouse, along with a CD to compare sizes. I'll probably replace that connector 'train' with a single connector at some point. Also not shown is the underside of the sensor. Etched in the clear plastic below the lens is the Agilent star symbol ... I'm guessing this means that the optics used in this mouse are by Agilent which may explain why it tracks so well.

Now the problem is, I've got no idea where this mouse can be purchased! Only one stall was selling them at the computer fair so I'm guessing it isn't a commonly available item just yet ... if anyone knows anything else about this mouse (for instance if anyone has seen a rebadged version under a better known name or have seen it being sold at a major store) do tell me and I'll add it here!







Again, the usual disclaimers apply, all information contained in this document is provided in good faith but no warranty is given regarding its accuracy. Anything you do to your libby is your problem. You're welcome to LINK to the front page at www.raybot.net (only because the subsequent levels may well change) however if you use the information herein for anything that'll be published, be it on the web or elsewhere, please do acknowledge this website and drop me an email at raybot @ raybot . net.

Copyright © 2002 Raybot, www.raybot.net