Tuesday, July 1, 2008

The Fifo and WLAN Ndiswrapper driver bug in kernel

Yesterday, I have to adapt my kernel module because of a new device that I have to connect to my linux laptop. This device is actually a serial-to-usb device. It is based on Future Technologies FTDI fifo chip. Because my optimized kernel didn't include the support for this chip, I have to compile the module and create a new kernel image with proper linkage with the new driver. The kernel compilation went OK.

Unfortunately, problems begin to show up with my WLAN ndiswrapper-based driver. The WLAN driver which is somehow linked to the ssb kernel module cannot work when the FTDI serial-to-USB FIFO driver is also loaded. The Ndiswrapper that I'm using is Ndiswrapper version 1.52. After trying to add list of suspected drivers into the blacklist driver list (/etc/modprobe.d/blacklist) in order to prevent the offending driver from loading, I found out that ssb module would always be loaded because it's linked very closely with the FTDI fifo driver. Finally, I decided to try to upgrade my kernel in the hope that the new native linux driver for Broadcom BCM4318 will work, to overcome my inability to use my WLAN in Linux. Upgrading to the latest kernel, i.e. version proves to be a well-working solution. So, now I have all my hardware working as expected. The only draw back with the current driver is I have to disable my Ethernet network adapter prior to activating the WLAN interface. Otherwise, the WLAN interface cannot be activated.

Moreover, when I decided to upgrade my ATI video card Linux driver to it's latest version, I found out that this kernel version ( plays well with the new ATI driver (Catalyst v8.50.3, i.e. filename: ati-driver-installer-8-6-x86.x86_64.run). I finally able to set the video resolution in Linux into the LCD's wide screen maximum resolution, i.e. 1280x768, which previously would always stuck at 1024x768, even if I set the ModeLine parameter to 1280x768 in /etc/X11/xorg.conf.
Post a Comment

No comments: