Re: dku2libusub timeout

RaphaĆ«l Droz <[email protected]> Mon, 29 Sep 2014 22:50:10 -0300
Newsgroups gmane.linux.drivers.gnokii
Message-ID <20140930015010.GD8609@deeebian>
On Mon, Sep 29, 2014 at 10:55:14PM +0200, Daniele Forsi wrote:
> better use dku2libusub because some commands currently fail with
> connection=phonet

I'd like to, especially since it theoretically allow more powerful phone
interactions but I can't get it to work.
usb/* permissions are ok, message is sent, but timeouts occurs and no
response arises.

[...]
> model = series40
> port = 2
> connection = dku2libusb
> initlength = default
> serial_baudrate = 19200
[...]
> Serial device: opening device USB
> Ignoring extra header, type 171, length 5
> Found FBUS interface
> Ignoring extra header, type 171, length 5
> Found FBUS interface
> Ignoring extra header, type 171, length 5
> Found FBUS interface
> Getting model...
> Message sent: 0x1b / 0x0006


Using strace and given that the correct bus is the usb/002/002
I should first note that, very strangely since I set the gnokii "port"
setting, all usb ports are tried in both O_RDWR then O_RDONLY, and all
fail (except 002/002) on EACCES because udev # didn't set them to the
"audio" group.
Anyway...


# [ other usb > 002 are tried]

> open("/dev/bus/usb/002", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 5
> getdents(5, /* 4 entries */, 32768)     = 64
> open("/dev/bus/usb/002/002", O_RDWR)    = 6
> ioctl(6, USBDEVFS_CONNECTINFO, 0xbf904050) = 0
> read(6, "\22\1\0\2\2\0\0@!\4d\2\201\20\1\2\3\3", 18) = 18
> read(6, "\t\2\377\1\20\1\0\200", 8)     = 8
> read(6, "\372\t\4\0\0\3\377\0\0\0\7\5\201\2@\0\0\7\5\1\2@\0\0\7\5\202\3@\0@\t"..., 503) = 503
> read(6, "\t\2\377\1\20\2\0\300", 8)     = 8
> read(6, "2\t\4\0\0\3\377\0\0\0\7\5\201\2@\0\0\7\5\1\2@\0\0\7\5\202\3@\0@\t"..., 503) = 503
> read(6, "\t\2\377\1\20\3\0\300", 8)     = 8
> read(6, "\4\t\4\0\0\3\377\0\0\0\7\5\201\2@\0\0\7\5\1\2@\0\0\7\5\202\3@\0@\t"..., 503) = 503
> close(6)

# [ other usb < 002 are tried ]
# then

> open("/dev/bus/usb/002/002", O_RDWR)    = 5
> ioctl(5, USBDEVFS_CONTROL or USBDEVFS_CONTROL32, 0xbf905f30) = 4
> ioctl(5, USBDEVFS_CONTROL or USBDEVFS_CONTROL32, 0xbf905f30) = 12
> ioctl(5, USBDEVFS_CONTROL or USBDEVFS_CONTROL32, 0xbf905f30) = 4
> ioctl(5, USBDEVFS_CONTROL or USBDEVFS_CONTROL32, 0xbf905f30) = 28
> ioctl(5, USBDEVFS_CONTROL or USBDEVFS_CONTROL32, 0xbf905f30) = 4
> ioctl(5, USBDEVFS_CONTROL or USBDEVFS_CONTROL32, 0xbf905f30) = 32
> close(5)                                = 0

> open("/dev/bus/usb/002/002", O_RDWR)    = 5
> ioctl(5, USBDEVFS_SETCONFIGURATION, 0xbf906114) = 0
> ioctl(5, USBDEVFS_CLAIMINTERFACE, 0xbf906114) = 0
> ioctl(5, USBDEVFS_SETINTERFACE, 0xbf9060e8) = 0
> ioctl(5, USBDEVFS_CLAIMINTERFACE, 0xbf906114) = 0
> ioctl(5, USBDEVFS_SETINTERFACE, 0xbf9060e8) = 0

> Getting model...
> Message sent: 0x1b / 0x0006

# and finally
> gettimeofday({1412041037, 789331}, NULL) = 0
> ioctl(5, USBDEVFS_SUBMITURB or USBDEVFS_SUBMITURB32, 0xbf905ae4) = 0
> ioctl(5, USBDEVFS_REAPURBNDELAY or USBDEVFS_REAPURBNDELAY32, 0xbf905ac8) = -1 EAGAIN (Resource temporarily unavailable)
> select(6, NULL, [5], NULL, {0, 1000})   = 1 (out [5], left {0, 359})
> gettimeofday({1412041037, 790605}, NULL) = 0
> ioctl(5, USBDEVFS_REAPURBNDELAY or USBDEVFS_REAPURBNDELAY32, 0xbf905ac8) = 0
> gettimeofday({1412041037, 790818}, NULL) = 0
> gettimeofday({1412041037, 790952}, NULL) = 0
> ioctl(5, USBDEVFS_SUBMITURB or USBDEVFS_SUBMITURB32, 0xbf905d24) = 0
> ioctl(5, USBDEVFS_REAPURBNDELAY or USBDEVFS_REAPURBNDELAY32, 0xbf905d08) = -1 EAGAIN (Resource temporarily unavailable)
> select(6, NULL, [5], NULL, {0, 1000})   = 0 (Timeout)
> gettimeofday({1412041037, 792563}, NULL) = 0
> ioctl(5, USBDEVFS_REAPURBNDELAY or USBDEVFS_REAPURBNDELAY32, 0xbf905d08) = -1 EAGAIN (Resource temporarily unavailable)
> select(6, NULL, [5], NULL, {0, 1000})   = 0 (Timeout)
> gettimeofday({1412041037, 794043}, NULL) = 0
> ioctl(5, USBDEVFS_REAPURBNDELAY or USBDEVFS_REAPURBNDELAY32, 0xbf905d08) = -1 EAGAIN (Resource temporarily unavailable)
> select(6, NULL, [5], NULL, {0, 1000})   = 0 (Timeout)
> gettimeofday({1412041037, 795542}, NULL) = 0
> ioctl(5, USBDEVFS_REAPURBNDELAY or USBDEVFS_REAPURBNDELAY32, 0xbf905d08) = -1 EAGAIN (Resource temporarily unavailable)
# [ repeat indefinitely ]


Remember that I use a "DKE-5" cable (more exactly a dumb
USB<->micro-USB cable) connected to a 7230 phone.



> (--getfile and --putfile and so --getsms doesn't
> work on S40 3rd) and it's more secure on a multiuser system

In my case, --getfile (at least) worked using cdc-phonet, didn't test
the other twos