The solution involves recompiling the module, which stopped working for the LT-20 after a patch introduced into the 2.6.19 tree. The patch I'm assuming fixed some issue with other devices which use the same driver, so be careful.
To get it to work I did the following:
1)installed the linux source tree:
sudo apt-get install linux-source-2.6.XX <- replace XX with your running kernel version, for me: 20.
cd /usr/src
tar -xvf linux-source-2.6.XX.bz2
2)Copied the files cypress_m8.h and cypress_m8.c from /usr/src/linux-source-2.6.XX/drivers/usb/serial/
to /usr/src/modules/
3)Changed dirs to /usr/src/modules,
created /usr/src/Makefile with the standard module creation 2.6 stuff:
4) Commented out line 408 from cypress_m8.c, which should read:
cypress_set_dead(port);
(anyway, if it isn't line 408 for you, it should be in the following if statement in function cypress_serial_control, which, after being commented out should look like this:
if (retval != 5) { err("%s - failed to retrieve serial line settings - %d", __FUNCTION__, retval); /*cypress_set_dead(port); // fix for LT-20*/ return retval;
} else ...
5) ran make
6) finally installed the new modules:
install -m 644 cypress_m8.ko /lib/modules/`uname -r`/kernel/drivers/cypress_m8.ko
depmod -a
7) tested with
cat /dev/ttyUSB0
all good -> lots out NMEA output.
Hope I didn't forget anything important, Good luck.
The solution involves recompiling the module, which stopped working for the LT-20 after a patch introduced into the 2.6.19 tree. The patch I'm assuming fixed some issue with other devices which use the same driver, so be careful.
To get it to work I did the following:
1)installed the linux source tree: 2.6.XX. bz2
sudo apt-get install linux-source-2.6.XX <- replace XX with your running kernel version, for me: 20.
cd /usr/src
tar -xvf linux-source-
2)Copied the files cypress_m8.h and cypress_m8.c from /usr/src/ linux-source- 2.6.XX/ drivers/ usb/serial/
to /usr/src/modules/
3)Changed dirs to /usr/src/modules,
created /usr/src/Makefile with the standard module creation 2.6 stuff:
obj-m := cypress_m8.o $(shell uname -r)/build
KDIR := /lib/modules/
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
4) Commented out line 408 from cypress_m8.c, which should read: set_dead( port); serial_ control, which, after being commented out should look like this:
err(" %s - failed to retrieve serial line settings - %d", __FUNCTION__, retval);
/*cypress_ set_dead( port); // fix for LT-20*/
return retval;
cypress_
(anyway, if it isn't line 408 for you, it should be in the following if statement in function cypress_
if (retval != 5) {
} else ...
5) ran make
6) finally installed the new modules: drivers/ cypress_ m8.ko
install -m 644 cypress_m8.ko /lib/modules/`uname -r`/kernel/
depmod -a
7) tested with
cat /dev/ttyUSB0
all good -> lots out NMEA output.
Hope I didn't forget anything important, Good luck.