I had to disable the special linux driver (it's some sort of USB-to-serial I think, but requires different software than the direct-USB tools I'm now used to), so it must be similar to NetBSD's ugen(4). I think that's a driver to make garmin usb look like garmin serial. modern practice (including on linux) seems to be to use libusb. libusb's usb_bulk_write() call is implemented differently on Linux and *BSD though. Here's the BSD code. It fails at the write(3) call with EIO, but I have no idea how to debug this... I think you need to turn on USB kernel debugging: options DIAGNOSTIC options UGEN_DEBUG in the kernel, set ugen_debug to 10 read src/sys/dev/usb/ugen.c specifically look at ugen_do_write
Attachment:
pgpGIup9_rbQQ.pgp
Description: PGP signature