I finally replaced my aging SCSI scanner over the weekend. It was making really odd noises while scanning, and had somehow upset my SCSI chain such that the BIOS could load GRUB ok, but GRUB then couldn't load the kernel. I have better things to do with my time than sacrifice goats, so I went looking for a cheap 'n cheerful replacement.
Oddly enough PC World provided an acceptable option. They have a system whereby you can reserve an item on the web for pickup from your local store, and get a reduction off the in store price. I have no idea why they don't just reduce in store prices anyway. I ended up with a Canon LiDE 60 for £44.82, slightly less than ebuyer charge before P&P and with the added advantage that I could go and pick it up on Saturday.
I had, of course, done some research beforehand to ensure this was a supported
scanner, however it turned out I'd misread. I thought the version of
SANE in Debian was a little old; turned out
the versions for sane-frontends and sane-backends differ and I'd looked at
the former instead of the latter. Plus I thought I was going to need to pull
a CVS or snapshot copy to get the support I needed. So I unwrapped the scanner,
plugged it into a spare USB port and checked
lsusb showed it up. Then, just
to see what would happen, I tried
scanimage -L and was rewarded with
device `genesys:libusb:004:009' is a Canon LiDE 60 flatbed scanner. Rock.
scanimage just worked and produced a nice PNM of my Electric Six CD inlay.
I don't think installation could have got any easier than that. Admittedly
I already had SANE installed as I'd had a previous scanner, but if I hadn't
the only addition would have been
aptitude install sane-utils.
Rock. I've now got the LCD on my E3 working; blurry picture at http://www.earth.li/~noodles/images/e3-lcd.jpg (I couldn't convince the camera to both focus well and shoot the flash in a way that made the text visible). I've updated my Amstrad E3 page with a few of the recent 2.6 developments as well. I'm quite chuffed with myself; while Mark did the original work of getting it booting with serial and USB I've managed to write the NAND driver, the LCD driver and sort out the keypad keymap.
There's still quite a lot left though:
- Get u-boot onto the actual device rather than having to load it over the serial port on each reboot.
- Add NAND support to u-boot.
- Get the modem setup.
- Handset - both mic/speaker and off-hook detection.
- Mailboard (the pull out keyboard)
And then I can worry about the application layer. :)
I'd have liked to have gone to FOSDEM this year, but it clashed with Christmas and someone had to stay in the country to mind things (Dominic and Simon both went, so I drew the short straw). Plus I decided not to go to Debconf this year; although I've enjoyed the past 2 years I couldn't really justify the cost of flights. And I'll no doubt need time off around the wedding, but I made the decision not to do Debconf before we got engaged, so that wasn't quite so big a factor.
However I now find myself lacking in geek events this year. I'm sure there'll be the usual Linux Expo stuff, but I've been considering the UKUUG Linux conference, which people have said good things about in the past. Is there anything else in the UK I should be considering?
I did get some hacking done this weekend however. Mark Underwood got 2.6.15 booting on the Amstrad E3 videophone to the point of USB and serial working. So I spent a while trying to figure out where Amstrad had hidden the NAND flash and managed to write a driver for it. I'm all chuffed with myself; my E3 now has a JFFS2 root filesytem. I also mapped out the keys on the keypad and tried to get the LCD working, but although I can get it to light up (the easy part) it doesn't actually seem to want to output anything. Bah. You can find all the bits you need at http://the.earth.li/pub/e3/ - both Mark's original stuff and my patch on top of that are there. Oh, and the list at http://www.earth.li/cgi-bin/mailman/listinfo/e3-hacking is a useful place too.
(And yes, I know Christmas is in December, but I have a yearly Christmas meal with the people I lived with in my final year of university, but it can take so long to find a weekend we're all free that it's often nowhere near Christmas by the time it happens - February is pretty good going for us!)
I bought a Belkin F6H500ukUNV from eBuyer (quickfind code 77131). At under £25 including P&P it seemed like a good deal and I've been meaning to get round to having a UPS to allow clean shutdown of my local machine during power problems.
Belkin ship Linux and FreeBSD programs to talk to the UPS (though only over
the serial interface - it has USB too). It doesn't like xterm it seems; prints
Error opening terminal: xterm.. Seems fine with a terminal type of linux.
It also puts all its files (config, help, binaries) in
/etc/belkin. And it's
binary only so I can't fix any of this brokenness.
However, the lovely Network UPS Tools exists.
Except Belkin have a number of UPS types, all incompatible with each other.
After figuring out that I really, really needed to use the Belkin provided
cable and not just a generic serial extender cable (grrrr. Why? If it's got
a 9 pin D labelled RS232 why not make it a sensible port?) I got the Belkin
software working and straced it to see what it did. A bit of looking at the
nut source found several drivers that appeared to use the commands Belkin were
sending (Q1, I & F). I tried
powermust first, with the following
[belkin] driver = powermust port = /dev/ttyM2
(I have a 4 port serial card, so
/dev/ttyM2 is just a normal serial port,
And tada. It works. I can now get output like:
[noodles@pot ~]$ upsc belkin@localhost battery.charge: 100.0 battery.voltage: 13.8 battery.voltage.nominal: 12.0 driver.name: powermust driver.parameter.port: /dev/ttyM2 driver.version: 2.0.3 driver.version.internal: 1.1 input.voltage: 227.0 input.voltage.fault: 227.0 input.voltage.maximum: 234.0 input.voltage.minimum: 221.0 output.frequency: 50.0 output.voltage: 227.0 output.voltage.target.battery: 230.0 ups.delay.shutdown: 2 ups.delay.start: 3 ups.load: 0.0 ups.mfr: Mustek ups.model: PowerMust ups.serial: unknown ups.status: OL
I don't know about doing shutdown yet, but
ups.status correctly goes to OB
(on battery) if I pull the power, which is probably the most important thing. :)
At some point I'd like to move over to the USB interface; I have better things to do with my serial ports. Belkin don't appear to have done the sane USB HID power thing; instead it's some odd hid device that doesn't even have a Belkin manufacturer ID:
Bus 003 Device 015: ID 0001:0000 Fry's Electronics Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0001 Fry's Electronics idProduct 0x0000 bcdDevice 1.00 iManufacturer 1 MEC iProduct 2 MEC0002 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 624 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Device Status: 0x0000 (Bus Powered)
The NUT energizerups driver appears to talk USB and use the Q1/F commands, so I think I'll try that later. Or it's back to usbsnoop and a Windows box I guess.
subscribe via RSS