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