linux

Gentoo Linux/MIPS for Cobalt — 2006.0 stage 3 — showing at a mirror near you

The 2006.0 stage 3 has been pushed out to the mirrors. You can get it from
your local Gentoo
mirror
in the
experimental/mips/stages/cobalt/2006.0
directory.

Not all mirrors have the files yet (they were only pushed out last night), but they should appear soon — probably in the next day or two. 🙂

As always… any bugs, issues… let me know. 🙂

Reverse Engineering Project: Driver for the ProHance PowerMouse 70

Well… while digging around in our masses of old hardware, I came up with this little gem…

ProHance ProMouse (aka PowerMouse 70), a rather unergonomic boxy looking mouse that's round at the palm end, and has an inset region of buttons… two pill-shaped 20mm×4mm buttons for the left/right mouse buttons, and a 2×5 grid of circular 4mm buttons marked with various keyboard labels.

ProHance ProMouse (aka PowerMouse 70)

This is an old 12-button serial mouse. Under DOS/Windows 3.x (its native platform), the additional buttons were mapped to keys on the keyboard, Escape, PageUp, Down, Home, End, Insert, Delete, Backspace and Function. The Function button allowed access to all the function keys, F1 through to F10. Thus, it allowed you to jump around documents, without having to switch between keyboard and mouse all the time.

Now, to achieve all this magic, it uses a proprietry protocol, one not supported by gpm or X.org. As I’ll probably end up reverse engineering my PDA (a Sharp Mobilion PRO PV5000A) eventually, I figured this would be a nice little project to start with.

What I know so far…

The mouse itself seems to prefer running at 4800 baud, and has a variable packet size.

The buttons are a very simple. There are two events, button pressed and button released (as you’d expect). These are sent as a two-byte packet:

  • 0x0d ID — Button ID has been pressed…
  • 0x0c ID — Button ID has been released…

The buttons themselves are numbered as follows: Left Button = 0x1d, Right Button = 0x1e, Escape/F1 = 0x1f, PageUp/F2 = 0x20 … etc … through to Fn/F10 = 0x28. So the sequence 0x0d 0x1d 0x0c 0x1d, is the byte sequence for a left click.

Movement, however, is prooving difficult. For othagonal movement, it alternates between two bytes, before sending 0x08. It may also change direction by sending 0x88. When moving left, it sends 0x78 0x98 repeatedly. Moving right is the reverse, 0x98 0x78. Vertical movement uses a similar scheme, 0x87 0x89 denotes upward movement, while 0x98 0x78 appears to denote downward movement.

However, mixing the two adds in additional bytes, which I’m yet to determine the meaning of. 0x77, 0x79, 0x97 and 0x99 appear to be related to diagonal movement. The codes, 0x68, 0x86, and a couple of others, are totally unknown at this stage.

Right now, I’m going to keep plodding along here… I’m looking at gpm source code to see if I can add support for this mouse, then I might look at X.org… but progress will be slow.

For what it’s worth… the company that produced this mouse, is no more… they’ve been gone for some time now. They produced quite a few mice similar to this one, including one 40-button model (yeah, practically a keyboard in its own right). The protocol used with those may be similar, but more research will need to be done.

Stage 3 is Uploaded…

Well, after my genius moment last night (forgot to stick the stage 3 tarball on my laptop to take to uni), I managed to upload the Cobalt stage 3 tarball for Gentoo/MIPS 2006.0.

Feedback would be appreciated, I’ve done some testing, and everything seems kosher, but more thorough tests would be appreciated before I go pushing them out to mirrors. They are presently available in the usual location, along side the 2005.1 stages.

Gentoo Linux/MIPS for Cobalt — 2006.0 stage 3 complete

Well, at long last it’s built… I’m currently doing some testing of the stage 3 tarball (I’ve already hit a problem with missing /dev entries, which has now been rectified).

Currently, I’m doing some build tests to check that everything is okay, once that is done I’ll release the tarball onto my devspace.

ETA: approximately 1 day, I’ll probably upload after 12:00PM local time (Brisbane Time; that’s 2:00AM GMT).

Gentoo Linux/MIPS 2006.0 for Cobalt — The fun begins

Hi All,
This is a short one … I’m now in the process of upgrading Catalyst on my Qube2, which shouldn’t take too long… After that, I’ll build a stage2 “seed” stage, then I’ll start the build in earnest.

Estimated time … assuming I have no hiccups … will be approximately one fortnight. The stages will be based on Chris’ 20060123 portage tree snapshot.

This release… I will be concentrating on the stage 3 tarballs. I might provide a stage 1/2 MIPS1 stages, so those with MIPS1, MIPS2 or MIPS32 Little-endian CPUs can build their own systems … although no support for these MIPS1 stages will not be provided.

I’ll keep you all up-to-date on what happens. 🙂
Regards,
Stuart Longland

Gentoo/MIPS Handbook: More updates for the docs team

Hi All…

For those of you who have any last-minute updates for the MIPS handbook, please speak up now. I have sent up patches so that the docs team have a head start on implementing the changes (particularly for any translations that may exist). I hope to have the shiny new handbook in place shortly.

The impatient ones may read it on my own server here.

Regards,
Stuart Longland

New Netboot images for Cobalt… and revamp of Gentoo/MIPS Handbook

Hi All…

I have just started work at improving the netboot images for the Cobalt port. Here you’ll find my latest netboot images. What has changed, is that instead of distributing the raw kernel, these are now distributed as a tarball (uncompressed — bzipping them actually made them larger) complete with CoLo, default.colo startup script, and symbolic links for most MIPS-based Cobalt systems.

To use. On the server, download the .tar file (and optionally run it through gpg, sha1sum and md5sum to verify you downloaded it right). Then unpack it on your server by running: tar -C / -xvf nfsroot-...cobalt.tar.

Then, when booting the Cobalt server… hold down left & right arrow buttons. You should see “Net Booting” appear on the display, followed shortly after by a prompt asking if you want to enable the Console. “Console ON” should be already selected, just press ENTER here.

You’ll then be asked where to boot from. Scroll down two places, and you should see “Network Boot (NFS)”. Select it and press ENTER. You should see “Loading Gentoo/MIPS” on the LCD panel, and the serial console should display the bootup progress. You’ll finally arrive at the “Press ENTER to enable this console” prompt that you should all be familiar with.

If, however, you need kernel parameters for your machine (such as Cobalt 2700 users, who need to disable serial console and start telnet) — select the Boot Shell method, and boot in the traditional way. The kernel image is named kernel.gz.

I’ll be updating the Handbook shortly to reflect this. I have an open bug covering the revamp of documentation. My draft handbook is viewable in the usual place, and feedback is encouraged. A lot has changed in the Linux/MIPS world since the docs were last overhauled, and so I aim to bring the docs up-to-date.

I shall keep you all posted as the work progresses.

Fscking Blackhats!

Those of you who have been watching the Atomic Linux forums, will have noticed this…

Defaced forums

Now, I don’t know who this “Eren” character is… or what I’ve susposedly done to deserve this. It’s sad that there are people who merely get their jollies by simply defacing websites. I have no complaints with hackers in general — whitehats do provide a useful service, in that they try to find holes and fix them — it’s the malicious variety of hacker (the blackhat) that I hate.

I’m currently reloading phpBB (latest version), so hopefully the damage won’t be huge — but it does look like we’ve lost most of our threads.

Gentoo Linux/MIPS 2005.1 for Cobalt Released. Get it while it’s hot!

Yep, after 2 power failures, weeks of anticipation, and much hair pulling on my part (good thing though, I need a haircut anyways), the full set of stages is finally built and uploaded. You can find them on my devspace in the usual place.

These haven’t undergone much in the way of testing… so it would be greatly appreciated if some brave souls could give these a try and report back on how they go. All going well, we should be able to get these pushed out to mirrors by the end of the month. 🙂

I’ll also start knocking up some new netboot images shortly. The new images will differ from the old ones, in that you will no longer have to download and extract CoLo into /nfsroot. I’m planning to produce images which can just be untarred directly into /nfsroot, and contain all the necessary files for boot. It’d also be nice to rid ourselves with the past time of mucking with the shell. All going well here, I’ll be re-writing that section of the handbook, and things should become significantly more simpler.

But we’ll see — for now I’m breathing a sigh of relief, but soon I’ll be back into the slog that is end-of-semester exams, so I don’t have long just now. Likely, this will be a summer holiday project. (Yes, for those of you playing along in the Northern Hemisphere…temperatures are warming up down here in Brisbane.)

As always, I’ll keep you posted on further notices, and I’m usually online if people wish to contact me.
Regards,
Stuart Longland

Power Failure holds up Cobalt Stage 3

Well, ain’t it lovely… I’m busy fixing a few things up in a local CVS repository…. I hit cvs commit, as you do… then all a sudden the lights go out, my screen goes blank, and I’m left in the dark — totally silent except two computer UPS’s screaming about the loss of power. As for my stage 3 tarball compilation on my Qube2 … up in smoke.

So I get up, and crash around in the dark looking for my torch so I can check the meter box (it hasn’t been unusual for the earth leakage to trip out without reason). No sooner do I get just 3 meters, the lights come back on. Okay, fine, it was late, so I just switched the rest of my computer off (namely the monitor, desklamp and tuner) and headded for bed. Then the power fails again. Lovely.

I found a torch and went looking at the meter box… Hrmm, not our end, and looking around, I see other people looking around in the darkness. Unfortunately in this case, the outage lasts longer than my UPS’s can supply power — so we go offline.

The power was restored at around 1:00AM, but unfortunately this means my compile for the Cobalt stages is now put back a whole couple of days, as the build must now start again. I’ve now pieced my network back together (namely a couple of IRC bots were offline, and my IPv6 tunnel was nonfunctional) and so I’m back online again.

Hopefully there won’t be any further interruptions, and this build can progress right to the end. 🙂