Archive for May, 2007

WTF Award of the week

Thursday, May 24th, 2007

Quoting from the Release Notes for the firmware v1.54.2 for the Thomson ST2030 VoIP telephone, in the “Relevant known limitations” section:

3.1 The display doesn’t show the name of the incoming call when received display name starts with the letter “O” (uppercase).

This raised quite a few eyebrows here, and raised quite a few concerns too. I refuse to even imagine how this kind of bug can happen.

And for those who will have a hard time believing this, we did the test, and, indeed, the CallerID name doesn’t appear on the phone when it starts with an “O”. Shrug.

Fixing SANE’s SCSI interface in 32/64bit mixed environments

Sunday, May 20th, 2007

I’ve just uploaded to unstable a new revision of SANE which fixes the longstanding SCSI interface problem in 32/64bit mixed environments. If you own a SCSI scanner, please read on and give it a go.

For the past several years, it wasn’t possible to scan using a SCSI scanner if you were running a 64bit kernel and a 32bit userland. The sg_hdr struct, which is the base of the Linux SG3 interface, contains pointers (you see that coming, right?) so its size obviously differs in 32bit and 64bit mode; and a 32bit pointer is kind of useless as-is for a 64bit kernel. The SG3 asynchronous interface (read/write calls on /dev/sgX) does not handle the 32/64bit conversion and returns an error while sanity checking the sg_hdr struct passed to it.

Hopefully, the SG_IO ioctl interface, also part of SG3 and now generalized to every SCSI device (not limited to /dev/sgX), uses the same sg_hdr struct with the added bonus that the ioctl 32bit compat layer built into the kernel converts the 32bit sg_hdr it gets from userland to a 64bit sg_hdr it passes on to the 64bit ioctl handler, and back again.

Only difference, the SG_IO ioctl interface is synchronous, whereas the read/write interface is asynchronous and thus allows command queueing. So SANE (sanei_scsi) now has lost its command queueing feature but it looks like (after testing) it wasn’t making any difference anymore.

This problem affects users on the following architectures, when running a 64bit kernel with a 32bit userland: i386/amd64, MIPS, MIPSel, SPARC, PowerPC, ia64. That makes for an important part of our supported architectures.

If you own a SCSI scanner, here’s a test you can do: scan using the current version of SANE in unstable (1.0.19~cvs20070505-2), then with the new, patched version (1.0.19~cvs20070505-3) and report back if:

  • the scanner backtracks more than it does with the previous version
  • you see weird errors OR you see no error and you should be seeing some
  • performance sucks
  • the resulting image is broken in one way or another

If all goes well, this patch will make it into SANE upstream RSN.

pommed v1.5: fixes

Saturday, May 19th, 2007

A really minor release here, fixing keyboard backlight support on the PowerBook5,4 (at least) which apparently doesn’t have a type attribute for the LMU controller in the device tree and we are back to using eject(1) for the CD ejection feature.

eject(1) unmounts the CD if it’s mounted at eject time, which is a nice feature to have if you use some sort of automounter.

Hopefully the next release will have some new things and not only fixes. Still on the TODO list: video mode switch at least for the MacBook & MacBook Pro and a better automatic backlight algorithm.

Oh, by the way, in the ATI-still-sucks-ass category: fglrx crashes when I enable crt2 on my x86_64 MBP, yet it works fine on an i386 MBP. When do I get the code for the fglrx X server ? I’d really like to fix this.

pommed v1.4: support for PMU05 machines

Sunday, May 6th, 2007

This is again a bugfix & enhancement release for pommed:

  • proper support for the PowerBook5,8 and PowerBook5,9; the ambient light sensors and the keyboard backlight are handled by the PMU05 on these machines (and not the LMU, there’s no LMU), and they have a Geyser USB keyboard+trackpad
  • new keyboard backlight toggle mode, used when the automatic keyboard backlight is disabled in the config file
  • removed some hardcoded settings in the pmac code (i2c adapter device name, share the LMU information between the keyboard backlight and the ambient light sensors code)

Bugs, patches and ideas welcome, at the usual place.