Sunday, November 16, 2008

Got the kernel update blues

If you use linux with funky hardware, you will periodically enjoy time spent debugging the results of a new kernel.

We have an old Sony GRX laptop with Fedora 9. A long time ago, we bought an Asante AeroLan AL5410-G PCMCIA card. (For those who may be looking for the firmware, the Asante site still has it available as part of the driver download.) I decided to try to get this card working with Fedora. It did ... at some point. Thank you, ACX100/ACX111 project!

When the 2.6.27.5-37 kernel came along last week, the last build (acx-20080210) failed. Here's the build log:

make -C /lib/modules/`uname -r`/build M=`pwd`
make: Entering directory `/usr/src/kernels/2.6.27.5-37.fc9.i686'
LD /usr/src/acx-20080210/built-in.o
CC [M] /usr/src/acx-20080210/wlan.o
CC [M] /usr/src/acx-20080210/conv.o
CC [M] /usr/src/acx-20080210/ioctl.o
/usr/src/acx-20080210/ioctl.c: In function ‘acx_s_scan_add_station’:
/usr/src/acx-20080210/ioctl.c:506: warning: passing argument 1 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:506: warning: passing argument 3 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:506: warning: passing argument 4 of ‘iwe_stream_add_event’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:506: error: too few arguments to function ‘iwe_stream_add_event’
/usr/src/acx-20080210/ioctl.c:513: warning: passing argument 1 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:513: warning: passing argument 3 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:513: warning: passing argument 4 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:513: error: too few arguments to function ‘iwe_stream_add_point’
/usr/src/acx-20080210/ioctl.c:523: warning: passing argument 1 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:523: warning: passing argument 3 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:523: warning: passing argument 4 of ‘iwe_stream_add_event’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:523: error: too few arguments to function ‘iwe_stream_add_event’
/usr/src/acx-20080210/ioctl.c:531: warning: passing argument 1 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:531: warning: passing argument 3 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:531: warning: passing argument 4 of ‘iwe_stream_add_event’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:531: error: too few arguments to function ‘iwe_stream_add_event’
/usr/src/acx-20080210/ioctl.c:549: warning: passing argument 1 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:549: warning: passing argument 3 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:549: warning: passing argument 4 of ‘iwe_stream_add_event’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:549: error: too few arguments to function ‘iwe_stream_add_event’
/usr/src/acx-20080210/ioctl.c:559: warning: passing argument 1 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:559: warning: passing argument 3 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:559: warning: passing argument 4 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:559: error: too few arguments to function ‘iwe_stream_add_point’
/usr/src/acx-20080210/ioctl.c:574: warning: passing argument 1 of ‘iwe_stream_add_value’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:574: warning: passing argument 4 of ‘iwe_stream_add_value’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:574: warning: passing argument 5 of ‘iwe_stream_add_value’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:574: error: too few arguments to function ‘iwe_stream_add_value’
make[1]: *** [/usr/src/acx-20080210/ioctl.o] Error 1
make: *** [_module_/usr/src/acx-20080210] Error 2
make: Leaving directory `/usr/src/kernels/2.6.27.5-37.fc9.i686'


It turns out that the underlying API has changed. I've uploaded a patch on the project site for those afflicted.

Now -- does anyone else have a problem with this card and NetworkManager? It just scans forever and refuses to associate.


Nov 16 13:23:01 sonygrx kernel: acx_set_status(1):SCANNING
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: start_scan: seems like previous scan is still running. Not starting anew. Please report
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: get_mask 0x00000000, set_mask 0x00000000 - after update
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: get_mask 0x00000000, set_mask 0x00040000
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: important setting has been changed. Need to update packet templates, too
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: updating packet templates