So in the 2.6.31 kernel the older (deprecated) network API finally got removed – biting quite a number of people rather badly. I can think of at two projects that’s problematic due to this:
1. The ibdriver package – used for the iBurst usb and pcmcia devices.
2. The dahdi 2.0.x drivers used for telephony in Asterisk.
The latter isn’t that serious a problem as I really need to move to dahdi-2.2.x anyway, the ibdriver however caused me some embarrasment as I plugged in the usb device, downloaded the drivers and … it didn’t compile. Oops. So I decided it’s time to return to some of my older roots and just make the driver work – and that’s exactly what I did.
This morning, after reading a blog post yesterday about it taking a guy two hours (without posting patches) I set aside three, and figured, at a minimum I’ll remember why I don’t do kernel hacking for a living. That happened, but it also only took me about 30 minutes to build a patch for running the iburst drivers against the 2.6.31 kernel. The main changes are that you’re now to use netdev_priv(dev) for accessing private data instead of dev->priv and a bunch of the device operations which has previously been part of the net_device struct is now in net_device_ops, with a few slight name changes. The only other thing really is that one struct changed name in the pcmcia subsystem (config_info_t -> socket_state_t).
With no further ado, you can find the patch here.
Please note that whilst I’m busy running the code with this patch I can’t guarantee that there are no mistakes in it. I just took the kernel headers, and updated the ibdriver code according to what I could tell from these headers, use at your own risk.
Thanks for the patch, works like a charm!
Hi – I’m still new at Ubuntu and installed 10.04 LTS recently. Could you please explain how I can execute/use this patch? I gathered from my research that this is my solution for getting my iBurst USB modem to work. Thanks in advance!
PS: Great site!
iGecko:
Firstly, check what the kernel version is that ships with your distribution (run “uname -r” – without the quotes). This will give you a number like “2.6.33-rc5″ (my laptop at the moment – in dire need of an update to 2.6.34 or something).
Check if there isn’t perhaps an officially released version for your kernel, which at the moment it seems there won’t be (last release was still for 2.6.28-rc2), so just grab that version (.
Now download the patch above, both into the same folder:
$ ls
ibdriver-1.3.4-linux-2.6.28-rc2.tar.gz ibdriver-134-linux-2628-2631.patch
Now you need to extract and patch it:
$ tar xzf ibdriver-1.3.4-linux-2.6.28-rc2.tar.gz
$ ls
ibdriver-1.3.4-linux-2.6.28 ibdriver-134-linux-2628-2631.patch
ibdriver-1.3.4-linux-2.6.28-rc2.tar.gz
And now you need to apply the patch:
$ cd ibdriver-1.3.4-linux-2.6.28/
$ patch -p1 < ../ibdriver-134-linux-2628-2631.patch
patching file ib-net.c
patching file ib-pcmcia.c
patching file ib-usb.c
Compile the driver:
$ make
This will generate some output, and in my case bomb out with yet another error seeing that I’m running on a newer kernel still that seems to have removed a member named ‘wireless_handlers’. I don’t have a device at the moment, so if you run into this, let me know, I’ll see if I can sort it out for you.
Once the driver has compiled without errors you should be able to run:
$ sudo make install
Which will install all the modules into the appropriate locations. From here you just need to load it as per the instructions on the sourceforge website (I can’t recall off the top of my head which module exactly I had to load).
Awesome! Will send you some visitors from a post we did way back when…
To everyone with a new install just run sudo pppoeconf after Jaco’s suggestion.
Hi
Thanks for the patch, I’ve been using is since I started running 2.6.31 with no problems.
I’ve recently upgraded to 2.6.34 and I’m having a few challenges getting it going. did you manage to get the drivers compiled from 2.6.34?
Regards
Jaco
Actually no. I can compile test at the moment but won’t be able to do any with-device testing. Would that help?
Jaco that would be great if you can – I can test it for you.
Hi All,
Am trying to get the ibdriver up for the 2.6.33 on a 64 bit laptop – has anybody attempted this..? Any help..?