I started using iSCSI a few months ago to be able to extend the capacity of my Windows XP virtual machine and Bootcamp with a shared partition. Using a partition on real hardware on the external Hard Drive was not an option as Parallels broke my Bootcamp more than once, and that is tremendously annoying. After that I started using it to share the external HD I bought for the laptop, so that it’s accessible from any place in my house, albeit slowly because it’s accessed through wireless.
Unfortunately the road for iSCSI target support on Linux ain’t exactly bump free. Updating to glibc 2.8 broke the userland tools of
iscsitarget, and it took me a fair day to find a way to fix those. With the latest update to Linux 2.6.26, instead, it was the kernel module to (obviously) break.
This time the subversion repository of iscsitarget was updated already, so I decided to just take a snapshot of the repository, so I could get the actual fix from upstream for the glibc 2.8 issue and the fixes for the new kernel. I suppose I could start maintaining iscsitarget myself now 😉 Thanks to Nataniel Copa the snapshot also provides a POSIX-compatible init script, which should make it possible to use it with OpenRC and
dash. And guess what my alternatives idea would also make easy to do?
Okay so, the problem with the kernel module has been resolved, everything’s fine then? I wish.
The other problem I’m having now is related to another module that failed to build: madwifi-ng. Enterprise is currently connected to the main router through WiFi, using an Atheros 5K-based card (it’s a D-Link card). Now, as madwifi failed to build, I checked the kernel to see whether there was already an alternative in-kernel official driver for this card, and it turns out there is one, Ath5k, that seemed promising. It uses the mac80211 framework and does support my chipset. Cool.
Unfortunately after enabling it (and having it working fine at the first glance) it started disconnecting immediately, causing the connection to stall, and requiring a few restarts. After a few tries I can tell for sure that the problem is related to iSCSI. As soon as Time Machine on the Mac starts to kick in (it works on the iSCSI disk), the connection is lost:
wlan0: Initial auth_alg=0 wlan0: authenticate with AP 00:14:7c:ba:a7:2e wlan0: association frame received from 00:14:7c:ba:a7:2e, but not in associate state - ignored wlan0: RX authentication from 00:14:7c:ba:a7:2e (alg=0 transaction=2 status=0) wlan0: authenticated wlan0: associate with AP 00:14:7c:ba:a7:2e wlan0: RX AssocResp from 00:14:7c:ba:a7:2e (capab=0x461 status=0 aid=2) wlan0: associated wlan0: switched to short barker preamble (BSSID=00:14:7c:ba:a7:2e) wlan0: No ProbeResp from current AP 00:14:7c:ba:a7:2e - assume out of range wlan0: Initial auth_alg=0 wlan0: authenticate with AP 00:14:7c:ba:a7:2e wlan0: RX authentication from 00:14:7c:ba:a7:2e (alg=0 transaction=2 status=0) wlan0: authenticated wlan0: associate with AP 00:14:7c:ba:a7:2e wlan0: RX ReassocResp from 00:14:7c:ba:a7:2e (capab=0x461 status=0 aid=2) wlan0: associated wlan0: switched to short barker preamble (BSSID=00:14:7c:ba:a7:2e)
For now I resolved connecting the laptop to Enterprise through the Gigabit interface, so that the iSCSI traffic does not pass through wlan0.
I’ll be going out with some friends in less than an hour, so the problem will have to wait till Monday (tomorrow I have friends coming over, and I have different plans for Sunday if I can avoid fixing this for now).
I’m not sure if I should be switching back to madwifi-ng (from SVN unless they release a new version to fix 2.6.26) or if I should report the problem to the kernel developers to see it fixed.
On different notes, yet still related to the kernel, I decided to make some changes to my configuration of the kernel with this release. I switched from the old “good” VesaFB to UVesaFB, even though I didn’t want to use an initramfs image, it works fine and it finally let me see the console decently on my 16:10 monitor (I start to wish I could have two of these rather than one being a 4:3 still… they come useful to have double windows in Emacs with source and header). I also removed the V4L subsystem and the support for BTTV as I removed the TV card from Enterprise, after hmmm more than five years of almost uninterrupted service; I’m using satellite (Sky Italia) in my room nowadays, so I don’t need the card here, I don’t even have the aerial connection in my office anymore.
I want to check if I’m building and loading stupid stuff. I found myself with the nvram driver enabled, yet not loaded at all, I wonder why I had it on at all. I obviously cannot remove the FireWire subsystem (the external HD I talked about before is using FireWire). I hate to have two SATA controllers enabled too, with two different drivers. I hope that, once I get a new box, all four the drives will stay on a single AHCI-enabled controller. I have two ethernet drivers too, the e1000 I use for iSCSI and the skge for the testing/development rig; and two soundcards, the integrated VIA82XX that right now I’m not using at all, and the ICE1712 I actually use. I haven’t disabled the VIA because I’d liek to use that for Skype once I get some decent headphones/mic set.
So anyway, I’ll better get going or I’ll be late again. What happened to me? I was never late before, I’ve started being quite late in the last weeks..