A joint email/blog post (since I’m re-producing it here in entirety).
tl;dr: To get a Linksys WPC55AG Wireless PCMCIA card and a Toshiba Satellite Pro 4280 (4200 series) to play nicely set as Cardbus/16 bit in the BIOS and disable fdc, midi and mpu in userconf.
I’ve been using NetBSD for about a year now, since switching to it from OSX 10.5 when my ageing Powerbook (which I basically used remotely as a “shell account”) finally died. So I replaced it with Linode and a Xen instance of NetBSD. The switch was painless and easy as everything I wanted to run (mutt, elinks, etc) was already cross platform and either available as binaries or through pkgsrc.
So firstly, thanks for that. NetBSD is a great.
In the last couple of weeks I’ve been able to replace the ageing powerbook with an even older Toshiba Satellite Pro. This thing is a beast! It must be about 4cm thick with the lid closed.
I had to order a CD from osdisc since I no longer have access to any machine with a CD writer (curse technological process!) and the Toshiba can’t boot from USB and doesn’t have an ethernet port.
After much reading of the email archives and the ath manual page I decided to go for a Linksys WPC55AG PCMCIA card which I could get for about £4 and was still boxed, shrink-wrapped and new!
When both had arrived in the post I was initially disheartened (absolutely gutted) that I couldn’t get it to boot up and work. I could get it booted from the CD, no problem, but it would hang as soon as I tried to run dhcpcd.
In my haste I decided to install to disk and see if that would work better than just from the CD - of course, it didn’t.
After more reading around I found out about audio conflicts and this made sense as the speakers would make a noise when going through pcmcia bit on boot, but since I couldn’t get the sources on to the machine in any way yet (Plugging in a USB stick would hang the machine) I was stuck.
I then got it into my head that I needed to enable acpi and that would solve all my problems (in hindsight: completely unrelated). Due to the age of the BIOS it was disabled by NetBSD. Due to my haste to install to disk I’d neglected to look into updating the BIOS (good on Toshiba, they still provide them; too late for an eager beaver though). There are quite a few references to acpi_force_load
, but no answers as to how to use it (I presume somehow as a boot parameter?). The other option is enabling it in the kernel, but again, how to compile my own kernel? I briefly thought about trying to get hold of a Windows CD and re-installing it just so I could update the BIOS. Fortunately I didn’t have to.
I found a post about setting cards as Cardbus/16 bit as best for NetBSD and indeed I did not have this set as so in the BIOS, I had “Auto-Selected”. So I changed this to 16 bit, but then it wouldn’t boot and would hang at fdc at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
.
In looking into how to enable acpi I found this post about how to disable it via userconf. I had a bit of a light-bulb moment and thought that if you could disable acpi
via userconf I could try disabling fdc
since that is where it was hanging on boot. It worked! But then immediately hung at midi
, but that made sense because of what I’d read and seen about audio conflicts. I disabled that and then mpu
because it also hung there and finally it booted up and in the moment of truth dhcpcd
also worked.
With 128MB ram, I can’t do much with it, but enough to make it a useful machine. I’m using dwm, st and mksh and I can ssh to my Linode NetBSD box which is the main thing. It actually launches surf for browsing easily, it’s just loading some sites where I’ll run out of memory; Dillo is fine.
Next steps will be re-building the kernel with fdc, midi and mpu disabled to avoid having to do that manually on start-up. Might one day play about with I/O space for the PCMCIA card, but not any time soon as I don’t need the floppy drive or audio.
So that’s all really, just wanted to say thanks and add some info to the mail archives for all the other people like me who spend all their time searching instead of posting.