Onsdag 22 september 2010 22:50:33 skrev Alan Stern: > You should modify the pl2303.c file by adding a "#define DEBUG" line > before any of the "#include"s. Then see what shows up in the dmesg > log. Maybe also collect a usbmon trace at the same time. Ok, I tried compiling with debug defined above the includes. Nothing other than the usual ended up in the logs. I tried logging data using usbmon. I did two runs both containing the trafic when doing the following. 1. Plug in of the device 2. Execute "cat /dev/ttyUSB0" on the device 3. Stop the cat-process using CTRL-C I first created pl2303_not_working.log from a fresh booted system. This is the scenario when the open-call is blocking. Then I unplugged the device and issued these commands : # rmmod pl2303 # rmmod usbserial Then I produced pl2303_working.log which is the scenario when the open-call is not blocking. I hope it help trackig down the bug. Btw. Shouldn't the communication be done via. bugzilla ? -- /Søren Holm
Usb trafic when connecting the device : ffff880074f873c0 2453313715 S Ci:2:001:0 s a3 00 0000 0001 0004 4 < ffff880074f873c0 2453313752 C Ci:2:001:0 0 4 = 00010000 ffff880074f873c0 2453313765 S Ci:2:001:0 s a3 00 0000 0002 0004 4 < ffff880074f873c0 2453313770 C Ci:2:001:0 0 4 = 00030000 ffff880074f873c0 2453313775 S Ci:2:001:0 s a3 00 0000 0003 0004 4 < ffff880074f873c0 2453313779 C Ci:2:001:0 0 4 = 00010000 ffff880074f873c0 2453313784 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff880074f873c0 2453313788 C Ci:2:001:0 0 4 = 01010100 ffff880074f873c0 2453313793 S Co:2:001:0 s 23 01 0010 0004 0000 0 ffff880074f873c0 2453313798 C Co:2:001:0 0 0 ffff880074f873c0 2453313802 S Ci:2:001:0 s a3 00 0000 0005 0004 4 < ffff880074f873c0 2453313807 C Ci:2:001:0 0 4 = 00010000 ffff880074f873c0 2453313811 S Ci:2:001:0 s a3 00 0000 0006 0004 4 < ffff880074f873c0 2453313816 C Ci:2:001:0 0 4 = 00010000 ffff880074f873c0 2453313820 S Ci:2:001:0 s a3 00 0000 0007 0004 4 < ffff880074f873c0 2453313824 C Ci:2:001:0 0 4 = 00010000 ffff880074f873c0 2453313829 S Ci:2:001:0 s a3 00 0000 0008 0004 4 < ffff880074f873c0 2453313833 C Ci:2:001:0 0 4 = 00010000 ffff88007486e180 2453421222 S Ii:2:001:1 -115:128 2 < ffff880074f873c0 2453421291 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff880074f873c0 2453421303 C Ci:2:001:0 0 4 = 01010000 ffff880074f873c0 2453421338 S Co:2:001:0 s 23 03 0004 0004 0000 0 ffff88007486e180 2453431795 C Ii:2:001:1 0:128 2 = 1000 ffff88007486e180 2453431822 S Ii:2:001:1 -115:128 2 < ffff880074f873c0 2453481260 C Co:2:001:0 0 0 ffff88007486e180 2453531254 C Ii:2:001:1 0:128 2 = 1000 ffff88007486e180 2453531273 S Ii:2:001:1 -115:128 2 < ffff880074f873c0 2453541242 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff880074f873c0 2453541263 C Ci:2:001:0 0 4 = 03011000 ffff880074f873c0 2453601223 S Co:2:001:0 s 23 01 0014 0004 0000 0 ffff880074f873c0 2453601245 C Co:2:001:0 0 0 ffff880074f873c0 2453601293 S Ci:2:000:0 s 80 06 0100 0000 0040 64 < ffff880074f873c0 2453602788 C Ci:2:000:0 0 18 = 12011001 00000040 7b060323 00030102 0001 ffff880074f873c0 2453602881 S Co:2:001:0 s 23 03 0004 0004 0000 0 ffff880074f873c0 2453661266 C Co:2:001:0 0 0 ffff880074f873c0 2453721237 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff880074f873c0 2453721262 C Ci:2:001:0 0 4 = 03011000 ffff880074f873c0 2453781252 S Co:2:001:0 s 23 01 0014 0004 0000 0 ffff88007486e180 2453781271 C Ii:2:001:1 0:128 2 = 1000 ffff880074f873c0 2453781279 C Co:2:001:0 0 0 ffff88007486e180 2453781285 S Ii:2:001:1 -115:128 2 < ffff880074f873c0 2453781296 S Co:2:000:0 s 00 05 000a 0000 0000 0 ffff880074f873c0 2453782785 C Co:2:000:0 0 0 ffff880074f873c0 2453813732 S Ci:2:010:0 s 80 06 0100 0000 0012 18 < ffff880074f873c0 2453814799 C Ci:2:010:0 0 18 = 12011001 00000040 7b060323 00030102 0001 ffff880074f873c0 2453814844 S Ci:2:010:0 s 80 06 0200 0000 0009 9 < ffff880074f873c0 2453817778 C Ci:2:010:0 0 9 = 09022700 01010080 32 ffff880074f873c0 2453817807 S Ci:2:010:0 s 80 06 0200 0000 0027 39 < ffff880074f873c0 2453820790 C Ci:2:010:0 0 39 = 09022700 01010080 32090400 0003ff00 00000705 81030a00 01070502 02400000 ffff880074f87480 2453820828 S Ci:2:010:0 s 80 06 0300 0000 00ff 255 < ffff880074f87480 2453823775 C Ci:2:010:0 0 4 = 04030904 ffff88006899b480 2453823841 S Ci:2:010:0 s 80 06 0302 0409 00ff 255 < ffff88006899b480 2453826790 C Ci:2:010:0 0 44 = 2c035500 53004200 2d005300 65007200 69006100 6c002000 43006f00 6e007400 ffff88006899b480 2453826855 S Ci:2:010:0 s 80 06 0301 0409 00ff 255 < ffff88006899b480 2453829782 C Ci:2:010:0 0 50 = 32035000 72006f00 6c006900 66006900 63002000 54006500 63006800 6e006f00 ffff88006899ba80 2453830112 S Co:2:010:0 s 00 09 0001 0000 0000 0 ffff88006899ba80 2453832784 C Co:2:010:0 0 0 ffff88006b3a4900 2453833198 S Ci:2:010:0 s c0 01 8484 0000 0001 1 < ffff88006b3a4900 2453835787 C Ci:2:010:0 0 1 = 02 ffff880074f87780 2453835892 S Co:2:010:0 s 40 01 0404 0000 0000 0 ffff880074f87780 2453838773 C Co:2:010:0 0 0 ffff880066b25e40 2453838815 S Ci:2:010:0 s c0 01 8484 0000 0001 1 < ffff880066b25e40 2453841787 C Ci:2:010:0 0 1 = 02 ffff880069cb96c0 2453843058 S Ci:2:010:0 s c0 01 8383 0000 0001 1 < ffff880069cb96c0 2453844787 C Ci:2:010:0 0 1 = 00 ffff880069cb96c0 2453844860 S Ci:2:010:0 s c0 01 8484 0000 0001 1 < ffff880069cb96c0 2453847788 C Ci:2:010:0 0 1 = 02 ffff880069cb96c0 2453850941 S Co:2:010:0 s 40 01 0404 0001 0000 0 ffff880069cb96c0 2453852790 C Co:2:010:0 0 0 ffff880069cb96c0 2453852842 S Ci:2:010:0 s c0 01 8484 0000 0001 1 < ffff880069cb96c0 2453855786 C Ci:2:010:0 0 1 = 02 ffff88007278ac00 2453855915 S Ci:2:010:0 s c0 01 8383 0000 0001 1 < ffff88007278ac00 2453858821 C Ci:2:010:0 0 1 = 00 ffff8800727bd480 2453858977 S Co:2:010:0 s 40 01 0000 0001 0000 0 ffff8800727bd480 2453861786 C Co:2:010:0 0 0 ffff8800727bd480 2453861901 S Co:2:010:0 s 40 01 0001 0000 0000 0 ffff8800727bd480 2453864797 C Co:2:010:0 0 0 ffff8800727bd480 2453865063 S Co:2:010:0 s 40 01 0002 0044 0000 0 ffff8800727bd480 2453867806 C Co:2:010:0 0 0 ffff88006b1b6780 2453868818 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff88006b1b6780 2453868837 C Ci:2:001:0 0 4 = 03010000 When I execute "cat /dev/ttyUSB0" usb trafic looks like this : ffff8800727bd540 2478685472 S Co:2:010:0 s 40 01 0008 0000 0000 0 ffff8800727bd540 2478687099 C Co:2:010:0 0 0 ffff88006824c600 2478687215 S Co:2:010:0 s 40 01 0009 0000 0000 0 ffff88006824c600 2478690092 C Co:2:010:0 0 0 ffff8800727bd3c0 2478690206 S Ci:2:010:0 s a1 21 0000 0000 0007 7 < ffff8800727bd3c0 2478693089 C Ci:2:010:0 0 7 = 80250000 000000 ffff8800727bd3c0 2478693136 S Co:2:010:0 s 21 20 0000 0000 0007 7 = 80250000 000008 ffff8800727bd3c0 2478696088 C Co:2:010:0 0 7 > ffff88006824c780 2478696162 S Co:2:010:0 s 21 22 0003 0000 0000 0 ffff88006824c780 2478699119 C Co:2:010:0 0 0 ffff88006824c780 2478699182 S Ci:2:010:0 s a1 21 0000 0000 0007 7 < ffff88006824c780 2478702094 C Ci:2:010:0 0 7 = 80250000 000008 ffff88006824c780 2478702200 S Co:2:010:0 s 40 01 0000 0000 0000 0 ffff88006824c780 2478705091 C Co:2:010:0 0 0 ffff880073d40000 2478705146 S Bi:2:010:3 -115 256 < ffff880073d40180 2478705181 S Ii:2:010:1 -115:1 10 < ffff88006824c780 2478705219 S Co:2:010:0 s 21 22 0003 0000 0000 0 ffff880073d40180 2478707087 C Ii:2:010:1 0:1 10 = a1200000 00000200 0002 ffff880073d40180 2478707109 S Ii:2:010:1 -115:1 10 < ffff88006824c780 2478708101 C Co:2:010:0 0 0 Here it blocks in the read-call. I press CTRL-C to abort the cat-command. The trafic then looks like this : ffff880068db3840 2507314510 S Co:2:010:0 s 21 22 0000 0000 0000 0 ffff880068db3840 2507316487 C Co:2:010:0 0 0 ffff880073d40000 2507317459 C Bi:2:010:3 -2 0 ffff880073d40180 2507318468 C Ii:2:010:1 -2:1 0
Usb trafic when connecting the device : ffff88006854f480 2337713760 S Ci:2:001:0 s a3 00 0000 0001 0004 4 < ffff88006854f480 2337713796 C Ci:2:001:0 0 4 = 00010000 ffff88006854f480 2337713811 S Ci:2:001:0 s a3 00 0000 0002 0004 4 < ffff88006854f480 2337713815 C Ci:2:001:0 0 4 = 00030000 ffff88006854f480 2337713820 S Ci:2:001:0 s a3 00 0000 0003 0004 4 < ffff88006854f480 2337713824 C Ci:2:001:0 0 4 = 00010000 ffff88006854f480 2337713829 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff88006854f480 2337713833 C Ci:2:001:0 0 4 = 01010100 ffff88006854f480 2337713838 S Co:2:001:0 s 23 01 0010 0004 0000 0 ffff88006854f480 2337713842 C Co:2:001:0 0 0 ffff88006854f480 2337713847 S Ci:2:001:0 s a3 00 0000 0005 0004 4 < ffff88006854f480 2337713851 C Ci:2:001:0 0 4 = 00010000 ffff88006854f480 2337713855 S Ci:2:001:0 s a3 00 0000 0006 0004 4 < ffff88006854f480 2337713860 C Ci:2:001:0 0 4 = 00010000 ffff88006854f480 2337713864 S Ci:2:001:0 s a3 00 0000 0007 0004 4 < ffff88006854f480 2337713869 C Ci:2:001:0 0 4 = 00010000 ffff88006854f480 2337713873 S Ci:2:001:0 s a3 00 0000 0008 0004 4 < ffff88006854f480 2337713877 C Ci:2:001:0 0 4 = 00010000 ffff88007486e180 2337823733 S Ii:2:001:1 -115:128 2 < ffff88006854f480 2337823793 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff88006854f480 2337823804 C Ci:2:001:0 0 4 = 01010000 ffff88006854f480 2337823843 S Co:2:001:0 s 23 03 0004 0004 0000 0 ffff88007486e180 2337834276 C Ii:2:001:1 0:128 2 = 1000 ffff88007486e180 2337834288 S Ii:2:001:1 -115:128 2 < ffff88006854f480 2337883733 C Co:2:001:0 0 0 ffff88006854f480 2337943748 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff88006854f480 2337943771 C Ci:2:001:0 0 4 = 03011000 ffff88006854f0c0 2338003736 S Co:2:001:0 s 23 01 0014 0004 0000 0 ffff88006854f0c0 2338003758 C Co:2:001:0 0 0 ffff88006854f0c0 2338003804 S Ci:2:000:0 s 80 06 0100 0000 0040 64 < ffff88006854f0c0 2338005268 C Ci:2:000:0 0 18 = 12011001 00000040 7b060323 00030102 0001 ffff88006854f0c0 2338005298 S Co:2:001:0 s 23 03 0004 0004 0000 0 ffff88007486e180 2338034286 C Ii:2:001:1 0:128 2 = 1000 ffff88007486e180 2338034300 S Ii:2:001:1 -115:128 2 < ffff88006854f0c0 2338061887 C Co:2:001:0 0 0 ffff880068559a80 2338121232 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff880068559a80 2338121256 C Ci:2:001:0 0 4 = 03011000 ffff880068559a80 2338181229 S Co:2:001:0 s 23 01 0014 0004 0000 0 ffff880068559a80 2338181250 C Co:2:001:0 0 0 ffff880068559a80 2338181265 S Co:2:000:0 s 00 05 0008 0000 0000 0 ffff880068559a80 2338183272 C Co:2:000:0 0 0 ffff880068559a80 2338211908 S Ci:2:008:0 s 80 06 0100 0000 0012 18 < ffff880068559a80 2338213264 C Ci:2:008:0 0 18 = 12011001 00000040 7b060323 00030102 0001 ffff880068559a80 2338213310 S Ci:2:008:0 s 80 06 0200 0000 0009 9 < ffff880068559a80 2338216263 C Ci:2:008:0 0 9 = 09022700 01010080 32 ffff880068559a80 2338216292 S Ci:2:008:0 s 80 06 0200 0000 0027 39 < ffff880068559a80 2338219254 C Ci:2:008:0 0 39 = 09022700 01010080 32090400 0003ff00 00000705 81030a00 01070502 02400000 ffff880068559900 2338219290 S Ci:2:008:0 s 80 06 0300 0000 00ff 255 < ffff880068559900 2338222267 C Ci:2:008:0 0 4 = 04030904 ffff880068559900 2338222294 S Ci:2:008:0 s 80 06 0302 0409 00ff 255 < ffff880068559900 2338225259 C Ci:2:008:0 0 44 = 2c035500 53004200 2d005300 65007200 69006100 6c002000 43006f00 6e007400 ffff880068559900 2338225293 S Ci:2:008:0 s 80 06 0301 0409 00ff 255 < ffff880068559900 2338228246 C Ci:2:008:0 0 50 = 32035000 72006f00 6c006900 66006900 63002000 54006500 63006800 6e006f00 ffff88006854f180 2338228660 S Co:2:008:0 s 00 09 0001 0000 0000 0 ffff88006854f180 2338231252 C Co:2:008:0 0 0 ffff88006854f480 2338231590 S Ci:2:008:0 s c0 01 8484 0000 0001 1 < ffff88006854f480 2338234253 C Ci:2:008:0 0 1 = 02 ffff8800682eee40 2338234489 S Co:2:008:0 s 40 01 0404 0000 0000 0 ffff8800682eee40 2338237250 C Co:2:008:0 0 0 ffff880068e24f00 2338244207 S Ci:2:008:0 s c0 01 8484 0000 0001 1 < ffff880068e24f00 2338246261 C Ci:2:008:0 0 1 = 02 ffff880068e24f00 2338246722 S Ci:2:008:0 s c0 01 8383 0000 0001 1 < ffff880068e24f00 2338249263 C Ci:2:008:0 0 1 = 00 ffff880068e24f00 2338249393 S Ci:2:008:0 s c0 01 8484 0000 0001 1 < ffff880068e24f00 2338252259 C Ci:2:008:0 0 1 = 02 ffff880068e24f00 2338252369 S Co:2:008:0 s 40 01 0404 0001 0000 0 ffff880068e24f00 2338255262 C Co:2:008:0 0 0 ffff880068e24f00 2338255798 S Ci:2:008:0 s c0 01 8484 0000 0001 1 < ffff880068e24f00 2338258259 C Ci:2:008:0 0 1 = 02 ffff880068e24f00 2338258380 S Ci:2:008:0 s c0 01 8383 0000 0001 1 < ffff880068e24f00 2338261265 C Ci:2:008:0 0 1 = 00 ffff880068e24f00 2338262457 S Co:2:008:0 s 40 01 0000 0001 0000 0 ffff880068e24f00 2338264256 C Co:2:008:0 0 0 ffff880068e24f00 2338271086 S Co:2:008:0 s 40 01 0001 0000 0000 0 ffff880068e24f00 2338272256 C Co:2:008:0 0 0 ffff880068e24f00 2338272288 S Co:2:008:0 s 40 01 0002 0044 0000 0 ffff880068e24f00 2338275255 C Co:2:008:0 0 0 ffff8800685503c0 2338275928 S Ci:2:001:0 s a3 00 0000 0004 0004 4 < ffff8800685503c0 2338275941 C Ci:2:001:0 0 4 = 03010000 When I execute "cat /dev/ttyUSB0" usb trafic looks like this : ffff880068e94180 2172162737 S Co:2:007:0 s 40 01 0008 0000 0000 0 ffff880068e94180 2172164745 C Co:2:007:0 0 0 ffff880074d90000 2172164821 S Co:2:007:0 s 40 01 0009 0000 0000 0 ffff880074d90000 2172167750 C Co:2:007:0 0 0 ffff880074d90000 2172167821 S Ci:2:007:0 s a1 21 0000 0000 0007 7 < ffff880074d90000 2172170735 C Ci:2:007:0 0 7 = 80250000 000000 ffff880074d90000 2172170792 S Co:2:007:0 s 21 20 0000 0000 0007 7 = 00c20100 000008 ffff880074d90000 2172173726 C Co:2:007:0 0 7 > ffff880074d90000 2172173810 S Co:2:007:0 s 21 22 0003 0000 0000 0 ffff880074d90000 2172176727 C Co:2:007:0 0 0 ffff880074d90000 2172176787 S Ci:2:007:0 s a1 21 0000 0000 0007 7 < ffff880074d90000 2172179724 C Ci:2:007:0 0 7 = 00c20100 000008 ffff880074d90000 2172179746 S Co:2:007:0 s 40 01 0000 0000 0000 0 ffff880074d90000 2172182723 C Co:2:007:0 0 0 ffff880069cb1180 2172182749 S Bi:2:007:3 -115 256 < ffff880037907180 2172182761 S Ii:2:007:1 -115:1 10 < ffff880074d90000 2172182777 S Co:2:007:0 s 21 22 0003 0000 0000 0 ffff880037907180 2172184720 C Ii:2:007:1 0:1 10 = a1200000 00000200 0002 ffff880037907180 2172184727 S Ii:2:007:1 -115:1 10 < ffff880074d90000 2172185716 C Co:2:007:0 0 0 Here it blocks in the open-call. I press CTRL-C to abort the cat-command. The trafic then looks like this : ffff880066aa5480 2178933798 S Co:2:007:0 s 21 22 0003 0000 0000 0 ffff880066aa5480 2178935447 C Co:2:007:0 0 0 ffff880066aa5480 2178935556 S Co:2:007:0 s 21 22 0000 0000 0000 0 ffff880066aa5480 2178938446 C Co:2:007:0 0 0 ffff880069cb1180 2178939436 C Bi:2:007:3 -2 0 ffff880037907180 2178940428 C Ii:2:007:1 -2:1 0