I've tested this and can confirm my LT-20 now works again flawlessly.  
This really made my day!
Ubuntu 8.04 users like myself who want a hassle-free install can get the 
latest 2.6.26 kernel package from intrepid ( 
http://packages.ubuntu.com/intrepid/base/ ) and install the deb, and 
you'll be good to go!

Dan Taylor


JWZ wrote:
> Good news, everyone! :^)
>
> The DeLorme Earthmate LT-20 (and LT-40) GPS receivers now work again
> under Linux!  The new 2.6.26 kernel incorporates a series of patches by
> Mike Isely which fix the problems with the supporting driver.
>
> The full story is a bit more involved, so for anyone interested, please
> read on....
>
> As near as I've been able to discern, DeLorme has had at least 4 USB-
> based GPS receivers which all go by the "Earthmate" name.  There is the
> original USB-based "Earthmate", 2 variants (details below) of the
> "Earthmate LT-20", and the recent "Earthmate LT-40".  (It appears that
> there may have even been an older RS-232 "Earthmate" as well, but I'm
> ignoring any such device here since it is irrelevant to this discussion.
>
> The 'cypress_m8' Linux kernel module initially (until the 2.6.19 kernel
> came out) worked fine with the original USB Earthmate and the 1st
> (older) variant of the Earthmate LT-20.
>
> A patch to the 'cypress_m8' driver by Mike Isely went into what became
> the Linux 2.6.19 kernel.  For me, it caused my previously-working LT-20
> to stop working.  I discovered this (way back in Mar 2007) and, after
> some testing, posted about it, including a "quick 'n' dirty" 1-line fix
> that made my LT-20 start working again:
>
>    http://www.mail-archive.com/linux-usb-
> [EMAIL PROTECTED]/msg52237.html
>
> Shortly thereafter, I got an email from Mike Isely.  He explained that
> his patch that got included in creating the Linux 2.6.19 kernel made his
> original USB Earthmate GPS receiver work more reliably, preventing some
> situation in which the driver was monopolizing his CPU, sometimes even
> forcing a reboot.
>
> We began an email exchange/discussion (which eventually drifted off the
> 'linux-usb-devel' mailing list) about fixing the driver properly, to
> support both the original Earthmate and the LT-20 version.  At that
> time, the LT-40 didn't exist.
>
> We both got distracted for several months doing other things.  In that
> time, Mike had conveniently purchased an Earthmate LT-20 to do some
> testing.  We finally got around to resuming the discussion and testing.
> Up until late January 2008, neither of us realized that there was such a
> thing as a "new" LT-20 variant.  Mike came up with a patch to the
> 'cypress_m8' driver that worked with his original Earthmate and with his
> (new) LT-20.  When I tested it, it didn't work with my (old) LT-20,
> though.
>
> We quickly realized that DeLorme had put out a newer version of the
> LT-20 but with the same USB 'Product ID' (PID).
>
> As it turns out, both of the Earthmate LT-20 receivers I own are the
> older variant.  Mike owns both the old original Earthmate (non-"LT-20")
> and the newer variant of the LT-20.
>
> Once we realized this and reported our respective LT-20 device
> capabilities to each other, Mike quickly came up with another patch
> which worked perfectly on my older LT-20 devices.  Since DeLorme didn't
> change the PID between the old and new LT-20 receivers, Mike was forced
> to use the device's report of the 'maximum packet size' (32 bytes on the
> old LT-20 devices but only 8 bytes on the new LT-20 devices) to discern
> the proper way to process the datastream.
>
> In fact, for anyone interested in the really gory details, here's the
> releavant part of the output from 'cat /proc/bus/usb/devices' for every
> USB-based Earthmate GPS receiver except the LT-40....
>
> The oldest, "original" (non-"LT-20") USB Earthmate:
>
>    T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
>    D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
>    P:  Vendor=1163 ProdID=0100 Rev= 0.04
>    S:  Manufacturer=DeLorme Publishing
>    S:  Product=DeLorme USB Earthmate
>    C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
>    I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=cypress
>    E:  Ad=81(I) Atr=03(Int.) MxPS=  32 Ivl=6ms
>    E:  Ad=02(O) Atr=03(Int.) MxPS=  32 Ivl=6ms
>    
> The "older" (32-byte) Earthmate LT-20:
>
>    T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
>    D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
>    P:  Vendor=1163 ProdID=0200 Rev= 0.01
>    S:  Manufacturer=DeLorme Publishing
>    S:  Product=DeLorme USB Earthmate      
>    C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
>    I:  If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=cypress
>    E:  Ad=81(I) Atr=03(Int.) MxPS=  32 Ivl=6ms
>    E:  Ad=02(O) Atr=03(Int.) MxPS=  32 Ivl=6ms
>
> The "newer" (8-byte) Earthmate LT-20:
>
>    T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=1.5 MxCh= 0
>    D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
>    P:  Vendor=1163 ProdID=0200 Rev= 1.11
>    S:  Manufacturer=DeLorme Publishing
>    S:  Product=DeLorme USB Earthmate
>    C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=400mA
>    I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=cypress
>    E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
>    E:  Ad=02(O) Atr=03(Int.) MxPS=   8 Ivl=10ms
>    
> The original (non-"LT-20", non-"LT-40") Earthmate has a unique USB PID 
> ("ProdID=0100"), making it easy to distinguish.  As you can see, among other 
> things, the 2 variants of the LT-20 have different values for "Spd" and for 
> "MxPS" on both the Input and Output endpoints.  In USB parlance, the older 
> LT-20 is a "full-speed" device (12 Mbps) and the newer LT-20 is a "low-speed" 
> (1.5 Mbps) device.
>
> Sometime after those tests were made and Mike's repair patches were
> created, both Mike and I purchased the newer Earthmate LT-40.  It
> appears to be much more like the old LT-20 than the new LT-20.  Here's
> the output from 'cat /proc/bus/usb/devices' for the LT-40:
>
>    T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
>    D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
>    P:  Vendor=1163 ProdID=0200 Rev= 0.01
>    S:  Manufacturer=DeLorme Publishing
>    S:  Product=DeLorme USB Earthmate      
>    C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
>    I:  If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=cypress
>    E:  Ad=81(I) Atr=03(Int.) MxPS=  32 Ivl=4ms
>    E:  Ad=02(O) Atr=03(Int.) MxPS=  32 Ivl=4ms
>
> More importantly, these new LT-40 GPS receivers work perfectly with the
> new 2.6.26 kernel too.
>
> The bottom line is that the new 2.6.26 kernel properly supports all 4 of
> these USB-based DeLorme Earthmate GPS receivers.
>
> My sincere thanks to Mike Isely for providing these very useful patches
> and pushing them upstream for kernel inclusion!  He did all the hard
> work -- all I did was test and report.
>
> Hopefully this will be useful to all you Linux-loving Earthmate GPS
> users, like me! :^)
>
> Regards,
> Bill Marr
>
>

-- 
DeLORME Earthmate GPS LT-20 (USBid:1163:0200) doesn't work in Feisty
https://bugs.launchpad.net/bugs/111694
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to