From: Andrea V. <and...@un...> - 2018-10-16 09:07:54
|
Hi, Il giorno lun, 11/06/2018 alle 20.35 -0400, John Assanti via Libmtp- discuss ha scritto: > Hi. This is regarding the original thread involving Andrea, Philip > and Marcus. > > I am also a victim of Galaxy (S6) and I've done some debugging, and > this are my 10 cents: > - Effectively, I hit the 123/124 limit. > - The thread hangs at io.c:2151 (handle_events, libusb code) and > libc in poll() on a file descriptor > - This is the backtrace, if anyone is curious about it: > [...] > - Now, after some USB sniffing with Wireshark, I see that the last > packet for the bulk transfer is initiated from the host but the > device is not answering. After the timeout of 60s the device answers > with a ENOENT (-2) error "file or directory not found", but I don't > know if this is a side effect of the timer. > - I couldn't go further, but if someone provides an interesting tip, > I can help and continue debugging. thank you John for your contribution. Just to summarize, it seems that Marcus gave us the keys to solve it "...we might be again hitting a certain USB packetsize border causing this hang. Like 512/124 is around 4 ... 512-4*124 = 16. getobjecthandles of 124 entries (+ 4 byte count + 12 byte header) would hit exactly 512 bytes." , but is cryptic to me :-) John added some further info from his side (see above), and a backtrace. Philip didn't reply to Marcus's hint, but may have some useful ideas to make us go on on this. Or, Marcus could give again a little help if possible... I know and understand that we all have few time. I would just kindly say that some people are happy to give their help on testing, and it's a pity if this problem remain unsolved (BTW, I have no idea how far from the solution we are). Thank you very much, Andrea |