Ok, if you say so.  You know that *reading* with a 64-byte buffer and
*writing* 64 bytes are completely different.  Maybe you have have
confused the device's max-packet-size with its communication data.
Devices do not need you to send extra zeros, and I've never seen one
that required it before (it's just a waste of bandwidth to send 62
zeros).

But since you are sure, I don't see anything obviously wrong then, so
the only thing I can suggest is getting a bus trace to see what's
going on.  Good luck!


On Fri, Jul 18, 2008 at 4:01 AM, Marion Decrouez
<[EMAIL PROTECTED]> wrote:
> The device communicates with packets of 64 bytes. It's weird beacause I can
> read data from it but I can't send data to it.
>
> Quoting Dan Streetman <[EMAIL PROTECTED]>:
>
>> Are you sure you want to send 62 zeros?  Is that what the device's spec
>> says?
>>
>> On Thu, Jul 17, 2008 at 12:10 PM, Marion Decrouez
>> <[EMAIL PROTECTED]> wrote:
>>>
>>> I'm trying to send a packet of 64 bytes, the first one (or the second)
>>> equal
>>> to 0x30 and the others equals to 0.
>>>
>>> Dan Streetman a écrit :
>>>>
>>>> What data (specific bytes) are you intending to send?
>>>>
>>>> On Wed, Jul 9, 2008 at 4:14 AM, Marion Decrouez
>>>> <[EMAIL PROTECTED]> wrote:
>>>>
>>>>>
>>>>> Hello,
>>>>> I'm still trying to send data to a HID device but it doesn't work. I
>>>>> don't have any errors or exceptions but the syncSubmit method never
>>>>> ends and if I use the asynchSubmit method, the actual lentgh is always
>>>>> null. I'm sure it's possible to send data to the device because
>>>>> there's a software given with the device which does that. I've checked
>>>>> the packets sent by this software to the device with an usb monitor
>>>>> and I tried to send the same.
>>>>> Does anyone knows the problem?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Here is my code :
>>>>>
>>>>> public static void main(String argv[]){
>>>>>              try{
>>>>>                      UsbServices services =
>>>>> UsbHostManager.getUsbServices();
>>>>>                      UsbHub virtualRootUsbHub =
>>>>> services.getRootUsbHub();
>>>>>                      List LL_DevList =
>>>>> getUsbDevicesWithId(virtualRootUsbHub,
>>>>> (short)0x4242, (short)0xee01);
>>>>>                      UsbDevice LCl_Device =
>>>>> (UsbDevice)LL_DevList.get(0);
>>>>>
>>>>>                      UsbInterface LCl_UsbInterface =
>>>>> LCl_Device.getActiveUsbConfiguration().getUsbInterface((byte)0);
>>>>>
>>>>>                      UsbInterfacePolicy LCl_uiP = new
>>>>> UsbInterfacePolicy()
>>>>>                      {
>>>>>                              public boolean forceClaim (UsbInterface
>>>>> LCl_Interface)
>>>>>                              {
>>>>>                                      return true;
>>>>>                              }
>>>>>                      };
>>>>>
>>>>>
>>>>>                      try
>>>>>                      {
>>>>>                              LCl_UsbInterface.claim(LCl_uiP);
>>>>>                      }catch(UsbException LCl_Exception){
>>>>>                              System.out.println("Could not claim
>>>>> interface to drive majook : "+
>>>>> LCl_Exception.getMessage());
>>>>>                      }
>>>>>
>>>>>
>>>>>
>>>>>                              UsbInterface LCl_UsbActiveInterface =
>>>>> LCl_UsbInterface.getActiveSetting();
>>>>>
>>>>>                              byte LN_EndpointOutAdress = (byte)0x04;
>>>>>                              UsbEndpoint LCl_UsbEndpointOut =
>>>>> LCl_UsbActiveInterface.getUsbEndpoint(LN_EndpointOutAdress);
>>>>>
>>>>>                              UsbPipe LCl_UsbPipeOut =
>>>>> LCl_UsbEndpointOut.getUsbPipe();
>>>>>
>>>>>                              try
>>>>>                              {
>>>>>                                      LCl_UsbPipeOut.open();
>>>>>                              }catch (UsbException e){
>>>>>                                      System.out.println("Could not open
>>>>> endpoint to communicate with
>>>>> majook : "+ e.getMessage());
>>>>>
>>>>>                              }
>>>>>
>>>>>                              byte[] LT_WriteData = new byte[64];
>>>>>
>>>>>
>>>>>                              for (int i=0; i< 64; i++)
>>>>>                              {
>>>>>                                      LT_WriteData[i]=(byte)0x00;
>>>>>                              }
>>>>>                              LT_WriteData[1] = (byte)0x30;
>>>>>
>>>>>                              try
>>>>>                              {
>>>>>
>>>>> LCl_UsbPipeOut.syncSubmit(LT_WriteData);
>>>>>
>>>>>
>>>>>                              }catch(UsbException LCl_UsbException){
>>>>>
>>>>>                                      System.out.println("Unable to
>>>>> submit data buffer to majook : " +
>>>>> LCl_UsbException.getMessage());
>>>>>
>>>>>                              }
>>>>>                              try
>>>>>                              {
>>>>>
>>>>> LCl_UsbPipeOut.abortAllSubmissions();
>>>>>                                      LCl_UsbPipeOut.close();
>>>>>                              }catch (UsbException LCl_Exception){
>>>>>                                      System.out.println("Could not open
>>>>> endpoint to communicate with
>>>>> majook : "+ LCl_Exception.getMessage())
>>>>>                              }
>>>>>
>>>>>                      }
>>>>>              }catch(UsbException LCl_Exception){
>>>>>
>>>>>              }
>>>>>
>>>>>
>>>>>      }
>>>>>
>>>>>      public static List getUsbDevicesWithId(UsbDevice usbDevice, short
>>>>> vendorId, short productId)
>>>>>      {
>>>>>              List list = new ArrayList();
>>>>>
>>>>>              if (vendorId ==
>>>>> usbDevice.getUsbDeviceDescriptor().idVendor() &&
>>>>>                      productId ==
>>>>> usbDevice.getUsbDeviceDescriptor().idProduct())
>>>>>                      list.add(usbDevice);
>>>>>
>>>>>              if (usbDevice.isUsbHub()) {
>>>>>                      List devices =
>>>>> ((UsbHub)usbDevice).getAttachedUsbDevices();
>>>>>                      for (int i=0; i<devices.size(); i++)
>>>>>
>>>>> list.addAll(getUsbDevicesWithId((UsbDevice)devices.get(i),
>>>>> vendorId, productId));
>>>>>              }
>>>>>
>>>>>              return list;
>>>>>      }
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------------
>>>>> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>>>>> Studies have shown that voting for your favorite open source project,
>>>>> along with a healthy diet, reduces your potential for chronic lameness
>>>>> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
>>>>> _______________________________________________
>>>>> javax-usb-devel mailing list
>>>>> [email protected]
>>>>> https://lists.sourceforge.net/lists/listinfo/javax-usb-devel
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>
>
>
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
javax-usb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/javax-usb-devel

Reply via email to