Re: ath9k-htc on OHCI -> bogus usb xfer

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

 



Hi+AKA-Oleksij,

On Wed, 2016-07-06 at 12:32 +-0200, fixed-term.Oleksij.Rempel wrote:
+AD4- 
+AD4- On 06.07.2016 11:30, Alexey Brodkin wrote:
+AD4- +AD4- 
+AD4- +AD4- Hi Oleksij,
+AD4- +AD4- 
+AD4- +AD4- On Wed, 2016-07-06 at 11:09 +-0200, fixed-term.Oleksij.Rempel wrote:
+AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- On 06.07.2016 10:45, Alexey Brodkin wrote:
+AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- Hi Oleksij,
+AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- On Wed, 2016-07-06 at 10:38 +-0200, fixed-term.Oleksij.Rempel wrote:
+AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- On 06.07.2016 10:32, Alexey Brodkin wrote:
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- Hi Oleksij,
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- On Wed, 2016-07-06 at 10:24 +-0200, fixed-term.Oleksij.Rempel wrote:
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- +AD4- +AKA-
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- +AD4- Hm... this Endpoint should be Interrupt, not Bulk. If you search for
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- +AD4- lsusb of this kind of adapter all of them list EP3 and EP4 as Interrupt.
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- +AD4- what did went wrong here? Is it not working in USB High Speed mode?
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- Unfortunately as of now on that board EHCI doesn't work.
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- That's not a problem of a particular USB device but something in either
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- ECHI host controller or its integration. I do hope we will fix it sometime soon
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- (this is a development board and USB controller is implemented in FPGA so
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- there's a chance to fix stuff later on).
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- So given only OHCI works on the board I went forward and attempted to use it
+AD4- +AD4- +AD4- +AD4- +AD4- +AD4- with Wi-Fi USB dongle.
+AD4- +AD4- +AD4- +AD4- +AD4- I did some tests for 2 years on OHCI controller on x86. There was no
+AD4- +AD4- +AD4- +AD4- +AD4- noticable issues. It was even a bit faster then Intels EHCI. I don't
+AD4- +AD4- +AD4- +AD4- +AD4- think OHCI alone is the source of this problem.
+AD4- +AD4- +AD4- +AD4- Well I was also surprised how well that dongle works with that board in
+AD4- +AD4- +AD4- +AD4- OHCI mode. I saw quite consistent +AH4-4-5 Mbit/second rates when doing Speedtest
+AD4- +AD4- +AD4- +AD4- from my smartphone. So IMHO it's completely usable. Especially on that kind of
+AD4- +AD4- +AD4- +AD4- HW which has main CPU running at just 100MHz.
+AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- +AD4- +AD4- On other side, so far i know, this adapter claims to provide usb full
+AD4- +AD4- +AD4- +AD4- +AD4- speed support, (Not only high speed) and may use different usb
+AD4- +AD4- +AD4- +AD4- +AD4- descriptor for this. May be this is the problem.
+AD4- +AD4- +AD4- +AD4- So is there something we may do with all that?
+AD4- +AD4- +AD4- Sure...
+AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- This shows that EP4 is Bluk in full speed mode. And it is defined by a
+AD4- +AD4- +AD4- boot loader of this chip:
+AD4- +AD4- +AD4- grep -R USB+AF8-FS+AF8-EP4+AF8-ATTRIBUTE +ACo-
+AD4- +AD4- +AD4- sboot/magpie+AF8-1+AF8-1/sboot/hif/usb/src/usb+AF8-table.c:
+AD4- +AD4- +AD4- m2BYTE(USB+AF8-FS+AF8-EP4+AF8-ATTRIBUTE, USB+AF8-FS+AF8-EP4+AF8-MAX+AF8-PACKET+AF8-SIZE),
+AD4- +AD4- +AD4- sboot/magpie+AF8-1+AF8-1/sboot/hif/usb/src/usb+AF8-table.h:+ACM-define
+AD4- +AD4- +AD4- USB+AF8-FS+AF8-EP4+AF8-ATTRIBUTE+AKAAoACgAKAAoACgAKAAoACgAKAAoACg-bUSB+AF8-EP+AF8-TYPE+AF8-BULK
+AD4- +AD4- +AD4- sboot/magpie+AF8-1+AF8-1/inc/usb+AF8-table.h:+ACM-define USB+AF8-FS+AF8-EP4+AF8-ATTRIBUTE
+AD4- +AD4- +AD4- +AKA-bUSB+AF8-EP+AF8-TYPE+AF8-BULK
+AD4- +AD4- +AD4- target+AF8-firmware/magpie+AF8-fw+AF8-dev/target/inc/k2/usb+AF8-table.h:+ACM-define
+AD4- +AD4- +AD4- USB+AF8-FS+AF8-EP4+AF8-ATTRIBUTE+AKAAoACgAKAAoACgAKAAoACgAKAAoACg-bUSB+AF8-EP+AF8-TYPE+AF8-BULK
+AD4- +AD4- +AD4- target+AF8-firmware/magpie+AF8-fw+AF8-dev/target/inc/magpie/usb+AF8-table.h:+ACM-define
+AD4- +AD4- +AD4- USB+AF8-FS+AF8-EP4+AF8-ATTRIBUTE+AKAAoACgAKAAoACgAKAAoACgAKAAoACg-bUSB+AF8-EP+AF8-TYPE+AF8-BULK
+AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- So, there are fallowing variants to fix it:
+AD4- +AD4- +AD4- a) patch full speed usb descriptor in firmware and add usb reinit
+AD4- +AD4- +AD4- support to the driver.
+AD4- +AD4- +AD4- b) add support of different EP4 types.
+AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- In any case, some one need to implement it... right now i have time only
+AD4- +AD4- +AD4- for mentoring.
+AD4- +AD4- That's understood.
+AD4- +AD4- 
+AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- It is hard to say, which solution is better. It will affect performance
+AD4- +AD4- +AD4- and stability. We will need lots of testing on different HW variants to
+AD4- +AD4- +AD4- know it.
+AD4- +AD4- +AD4- May be usb maeling list can give some input here?
+AD4- +AD4- Let's hope so :)
+AD4- +AD4- 
+AD4- +AD4- +AD4- 
+AD4- +AD4- +AD4- Currently we have fallowing issues:
+AD4- +AD4- +AD4- - if EP4 and EP3 are Interrupt, it works slower on High Speed controller.
+AD4- +AD4- +AD4- - if EP4 and EP3 are Bulk, the work better on High Speed and brake on
+AD4- +AD4- +AD4- Super Speed controllers. This adapter support my 64B packets and if we
+AD4- +AD4- +AD4- have more, fifo of this adapter will overrun.
+AD4- +AD4- +AD4- - Full Speed is currently unknown field for me, and it looks like it was
+AD4- +AD4- +AD4- never actually working properly.
+AD4- +AD4- But given that dongle seem to work fine with muted warning do you think it's
+AD4- +AD4- fine to continue that way or not?
+AD4- +AD4- 
+AD4- +AD4- I mean if there's a chance this +ACI-bogus usb xfer+ACI- might affect something during
+AD4- +AD4- execution? Otherwise if that's just not a crucial problem or not a problem at all
+AD4- +AD4- may be we may just think how to make this warning not so annoying (in my case
+AD4- +AD4- I saw never ending flood of those warnings so that basically stopped me from using
+AD4- +AD4- the board after that warning started to appear.
+AD4-
+AD4- I'll answer with an example:
+AD4- on USB3 hw this warning was ignore and caused hard reproducible bug
+AD4- which cost me some week to debug. The result was a FIFO overflow on
+AD4- adapter side.

Yeah that makes a perfect sense then.
Let's see if there're any other suggestions on the topic.

-Alexey--
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