|My computer still hates me
||[Mar. 20th, 2005|01:05 pm]
This week's attempt to get ADSL going under linux involved buying (off ebay, for a fiver) a USB Speedtouch ADSL modem (the frog ones). Supposedly, these have great support under linux, so all should've been fine.|
There are actually two drivers available. There's the in-kernel speedtch.o module (in more recent kernels only), or the userspace pppoa2 / pppoa3 tty driver for pppd. Both use a tool called modem_run to load the firmware onto the modem, and monitor the modem's status. The difference is that the kernel driver presents an ATM device interface to linux, so you can use pppoatm stuff, while the userspace one just presents a TTY interface to ppp.
I installed the debian packages (much fun involving usb key disks and downloading at work), and configured everything up. I plugged in the modem, hotplug kicked in, and squirted the firmware to the modem. A short while later modem_run reported that the line was connected at the right speed, and the kernel module looked happy. I started ppp with the pppoatm plugin, and waited. Just as with the PCI card, it sent out some LCP initialisation packets, and waited for a response. The response never arrived, so it just hung.
I had a play with ACPI settings, irq settings, all those sort of things. Nothing helped. Next I tried stopping hotplug, and trying to work with the userspace driver. Annoyingly, you have to reboot between uses of modem_run, because it leaves mutex's around, and then refuses to load again. After a reboot, I loaded the userspace drivers, and tried it. This time, it looked like something might be coming back, but it was hard to tell from the debug logs. Whatever the case, ppp didn't think it had any friends, so gave up.
I emailed the speedtouch linux list, and described my problems. They got me to turn on a few more debugging options, and to extend one LCP retry parameter. None of those worked, and the speedtouch people were stumped as to the problem. I haven't heard anything back from them for 2 days now :(
Yesterday, I tried the speedtouch modem with my laptop (which spends the week at work). Configured it up with the kernel and userspace drivers, put the firmware in the right places, then gave it a whirl. modem_run loads the firmware, then starts trying to check the status of the modem. It then reports a stream of a pair of errors: "Error reading interrupts" and "[monitoring report] ADSL link stays stable (down)". I've tried fiddling with irqs, acpi, all that sort of thing, but it doesn't seem to help. modem_run won't work on my laptop with either the kernel or userspace driver, with any versions of modem firmware. It just never seems to be able to get interrupts back.
This all means that my only internet access at home is from under windows. I initially installed windows a week or two back, to test the pci adsl card. I never expected it to last long, as I hoped to have things working under linux in no time. So, I locked it down as best as you can with a Win2K Pro install, but that isn't very much (there's no built in firewall for starters). Sometime yesterday, some worm must've found something it liked, as the windows system started maxing out the uplink and connecting to irc servers. Yup, it's been cracked. So, I pulled the plug, and reinstalled. Luckily I found a trial version of norton firewall, which is now installed. Hopefully this'll keep the windows install secure long enough to get ADSL going under Linux again.
In conclusion, ADSL under linux just plain seems to hate me. I'm going to try some more prodding on my laptop, but I don't have much hope of it working. I think I'm going to have to give in and buy an external adsl router, and hope the one I get crashes less often than the one I used to have (before getting the PCI card).
Bah. Why does my computer hate me so?