Markus wrote:
> As of now, I can read and write memory by using vendor request
> control transfers. According to the manufacturer this is the way 
> to go for firmware dump and download.

That's a common mechanism.

 
> wValue (LSW) and wIndex (MSW) make up the address offset to write 
> the data to within device memory.

Are you sure you have the ordering correct?  (It probably is, because
that lets those two fields  be treated as a single little-endian dword.)

 
> In both cases (r/w), the maximum value for wValue is 0x4000, after
> that libusb_control_transfer() returns pipe errors. As it is
> possible with the original tool to write beyond this address, I
> suspect it's not the device that produces the stall.

What is the actual error code you get from WinUSB?  If the error really
is a stall, then has to come from the device.  What is the
bmRequestType?  Is it a vendor request to the device?  Would you mind
showing us the code?


> As I don't have any known-good device where I could meaningfully
> test a control transfer with wValue > 0x4000, I'd also be happy 
> for any hint towards how to reproduce this behaviour.

I have certainly done vendor device requests with wValue larger than 0x4000.

-- 
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to