Pete Zaitcev wrote:
On Tue, 05 Feb 2008 18:32:35 -0800, Alan Nisota wrote:
Well, this hack allows me to read without babble on my newer machines,
but the one I really need it to work on has an older motherboard, and
refuses to accept the 1024 byte packets. I'll need to either work iwth
the vendor or see if I can patch the firmware.
What does "refuses to accept" mean?
It means I'm an idiot and forgot to run mkinitramfs so I wasn't getting
the updates to the module I built on my normal linux box. I have now
corrected that mistake and can read from the R5000 on all of my boxes now.
Is there anything I could do to move that along?
I think a proper patch would be welcome, because this is what
Alan wrote:
As far as I can tell, Linux doesn't try to prevent high-speed devices
from using illegal maxpacket sizes. ehci-hcd should accept anything up
to 2047 without complaint.
I interpret this as a) he forgot that we hardcoded 512 in qh_make
and b) considers it right for us not to mess with whatever the
descriptors on the device say (outside of sanity checks).
If so, I agree.
Someone (like you) needs to post the patch, address the feedback,
test on actual hardware (like your set-top box) and otherwise see
it through. It's late for 2.6.25, so I'd say 2.6.26. Its merge
window is 4 months away, but you need the patch in Greg's tree
_before_ that.
I've learned that getting stuff into the kernel takes patience (it won't
be my first foray there).
I've seen a few different ways to implement this, and am wondering which
would be preferred:
The most conservative is:
< info1 |= 512 << 16; /* usb2 fixed maxpacket */
> info1 |= ((maxp == 1024) ? 1024 : 512) << 16;
/* usb2 fixed maxpacket */
But to be maximally flexible this might be better:
< info1 |= 512 << 16; /* usb2 fixed maxpacket */
> info1 |= max_packet (maxp) << 16; /* usb2
fixed maxpacket */
I noticed that just enforcing the size to be 1024 made my other USB2
devices very angry which surprised me since I thought it would
automatically use the lesser of this value and MaxPacketSize. So I'm
concerned that the second case might behave oddly if a device reports
its MaxPacketSize to be less than 512 bytes and I have no way to test it.
(Also this isn't meant to be a formal patch, I'm just trying to get
feedback)
And as far as getting the vendor to fix the device, I've asked, but
they've been extremely reluctant to support Linux in the past. We'll
see what they say.
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html