Re: usb-serial FTDI timing issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Alan Stern wrote:
> Your real problem is that you are trying to deal with four or five
> different layers of software and hardware all at once.  That isn't
> going to work.  You need to separate out the effects of:
> 
> 	The device itself;
> 
> 	The kernel's USB serial drivers;
> 
> 	The kernel's TTY layer;
> 
> 	WINE;
> 
> 	C#;
> 
> and maybe more.  Work on these one at a time; then there will be some 
> hope of making progress.

I'm not using Wine or C#. I have just looked up the commands that come
out of Portmon for Windows and referenced that to the Wine implementation.

We are talking about a trivial write(fd, {0x54 0x0e}, 2) here. This is
not rocketscience. If this works out of the box on Windows there might
be something timing related that prevents Linux from operating. Since
this is also observed with other devices the questions related the
usb-serial layer are valid.

I'll try to execute the C# program using a Virtual Machine and see if
this works or not.


> Since this is a USB-oriented mailing list, the people reading your
> email are best able to help you with the USB serial driver part of the
> problem.  My advice is that you use usbmon to find out what's going on
> at the USB level.  It's roughly equivalent to using SnoopyPro on
> Windows.  See the kernel source file Documentation/usb/usbmon.txt for
> instructions.

The output of USB mon regarding to the entire program is the following:
(Basic working; try to send a reset magic string, if not try again, wait
till MKBL is in the buffer)

eeff5680 0.637279 S Co:3:004:0 s 40 00 0000 0000 0000 0
eeff5680 0.639243 C Co:3:004:0 0 0
eeff5680 0.639464 S Co:3:004:0 s 40 04 0008 0000 0000 0
eeff5680 0.642230 C Co:3:004:0 0 0
eeff5680 0.642351 S Co:3:004:0 s 40 03 0034 0000 0000 0
eeff5680 0.645231 C Co:3:004:0 0 0
eeff5680 0.645372 S Co:3:004:0 s 40 02 0000 0000 0000 0
eeff5680 0.648231 C Co:3:004:0 0 0
eeff5680 0.648330 S Co:3:004:0 s 40 01 0303 0000 0000 0
eeff5680 0.651229 C Co:3:004:0 0 0
ef16e980 0.651323 S Bi:3:004:1 - 512 <
eeff5680 0.651495 S Co:3:004:0 s 40 04 0008 0000 0000 0
ef16e980 0.654230 C Bi:3:004:1 0 2 = 3160
ef16e980 0.654241 S Bi:3:004:1 - 512 <
eeff5680 0.654246 C Co:3:004:0 0 0
eeff5680 0.654391 S Co:3:004:0 s 40 03 0034 0000 0000 0
eeff5680 0.657229 C Co:3:004:0 0 0
eeff5680 0.657339 S Co:3:004:0 s 40 02 0000 0000 0000 0
eeff5680 0.660228 C Co:3:004:0 0 0
eeff5680 0.660375 S Bo:3:004:2 - 7 = 23615240 530d1b
eeff5680 0.661228 C Bo:3:004:2 0 7 >
ef16e980 0.666230 C Bi:3:004:1 0 12 = 31603f59 3f3f3f3f 4d4b424c
ef16e980 0.666241 S Bi:3:004:1 - 512 <
eeff5680 0.680559 S Bo:3:004:2 - 1 = aa
eeff5680 0.681227 C Bo:3:004:2 0 1 >
ef16e980 0.682229 C Bi:3:004:1 0 5 = 31604d4b 42
ef16e980 0.682234 S Bi:3:004:1 - 512 <
ef16e980 0.698231 C Bi:3:004:1 0 3 = 31604c
ef16e980 0.698236 S Bi:3:004:1 - 512 <
ef16e980 0.714229 C Bi:3:004:1 0 2 = 3160
ef16e980 0.714233 S Bi:3:004:1 - 512 <
ef16e980 0.730229 C Bi:3:004:1 0 2 = 3160
ef16e980 0.730232 S Bi:3:004:1 - 512 <
ef16e980 0.746229 C Bi:3:004:1 0 2 = 3160
ef16e980 0.746233 S Bi:3:004:1 - 512 <
eeff5680 0.760716 S Bo:3:004:2 - 7 = 23615240 530d1b
eeff5680 0.761226 C Bo:3:004:2 0 7 >
ef16e980 0.762227 C Bi:3:004:1 0 3 = 31003f
ef16e980 0.762234 S Bi:3:004:1 - 512 <
ef16e980 0.778229 C Bi:3:004:1 0 11 = 3160593f 3f3f3f4d 4b424c
ef16e980 0.778236 S Bi:3:004:1 - 512 <
eeff5680 0.780888 S Bo:3:004:2 - 1 = aa
eeff5680 0.781224 C Bo:3:004:2 0 1 >
ef16e980 0.794226 C Bi:3:004:1 0 6 = 31604d4b 424c
ef16e980 0.794231 S Bi:3:004:1 - 512 <
ef16e980 0.810228 C Bi:3:004:1 0 2 = 3160
ef16e980 0.810231 S Bi:3:004:1 - 512 <
ef16e980 0.826226 C Bi:3:004:1 0 2 = 3160
ef16e980 0.826229 S Bi:3:004:1 - 512 <
ef16e980 0.842225 C Bi:3:004:1 0 2 = 3160
ef16e980 0.842229 S Bi:3:004:1 - 512 <
ef16e980 0.858227 C Bi:3:004:1 0 2 = 3160
ef16e980 0.858230 S Bi:3:004:1 - 512 <
eeff5680 0.861326 S Bo:3:004:2 - 1 = 74
eeff5680 0.862225 C Bo:3:004:2 0 1 >
ef16e980 0.874227 C Bi:3:004:1 0 4 = 3160e000
ef16e980 0.874235 S Bi:3:004:1 - 512 <
eeff5680 0.874709 S Bo:3:004:2 - 1 = 54
eeff5500 0.874833 S Bo:3:004:2 - 1 = e0
eeff5680 0.875224 C Bo:3:004:2 0 1 >
eeff5500 0.875230 C Bo:3:004:2 0 1 >

*** ef16e980 0.890224 C Bi:3:004:1 0 3 = 31600d ***

ef16e980 0.890233 S Bi:3:004:1 - 512 <
eeff5500 0.890706 S Co:3:004:0 s 40 02 0000 0000 0000 0

- ---> it seems the following is the actual read(fd, output, 1)

eeff5500 0.892225 C Co:3:004:0 0 0
eeff5500 0.892337 S Co:3:004:0 s 40 01 0300 0000 0000 0
eeff5500 0.895224 C Co:3:004:0 0 0
ef16e980 0.895230 C Bi:3:004:1 0 2 = 0160
ef16e980 0.895235 S Bi:3:004:1 - 512 <
ef16e980 0.896236 C Bi:3:004:1 -2 0

Could anyone maybe elaborate how I get 0x0A as output?



Stefan




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEAREKAAYFAkpjh+8ACgkQYH1+F2Rqwn0e/wCeNLYvL8VGBuoNUQ5lcxp/9NXc
OXMAn0V3TsMgoEpB8yIYivliQSWTAWnz
=qnpC
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux