START - USB Device Vendor for ATSAME70 not working

Go To Last Post
3 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello everyone,

 

I've been struggling for a few days to get the START middleware for USB Device Vendor working.  I've loaded it into Atmel Studio and only changed main.c to include the function call to start the application (vendor_example();)  I have this running on a SAME70 Xplained board.

 

I've written a program that uses libUSB1.0 to connect to the device and used Zadig to assign the WinUSB driver to it.  So far:

- Opening device works

- Set config works

- Claim interface works

- Control endpoint transfer works

 

- Bulk write fails

 

I ran USBView (attached) to try and understand I I noticed two things:

1) *!*ERROR:  No open pipes! in device information

2) There are two interfaces listed.  They are both interface 0x00 and one shows 0 endpoints while the other shows 6.

 

Anyone have success with the START USB vendor application and can provide tips?

 

Thanks,

 

--Ryan

 

 

 

Attachment(s): 

Last Edited: Fri. Sep 3, 2021 - 03:01 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You may find more support in the SAM D forums here: https://microchipsupport.force.c...

sorry, my google foo is not working as well as it should, that first link is PIC related, the 32 bit forums are here: https://community.atmel.com/atme...

 

 

Keys to wealth:

Invest for cash flow, not capital gains!

Wealth is attracted, not chased! 

Income is proportional to how many you serve!

Lets go Brandon!

Last Edited: Fri. Sep 3, 2021 - 02:40 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well,

 

I figured it out.  I had nothing to do with the firmware and was an issue in the libusb application I was working on.  It wasn't clear at first that the second interface was an alternate (bAlternateSetting = 1).  Once I added the libusb function call:

 

libusb_set_interface_alt_setting(dev_handle, 1, 1)

 

It works fine.

 

I guess I'm confused why the ATMEL START vendor middleware uses an alternate interface.  Can anyone explain why?

 

Thanks,

 

--Ryan

Last Edited: Sat. Sep 4, 2021 - 03:22 AM