Connecting an Atmel AT91SAM7X microcontroller

Hans Petter Selasky hselasky at c2i.net
Wed Jun 30 21:29:42 UTC 2010


On Wednesday 30 June 2010 22:53:02 Frank J. Beckmann wrote:
> Hello,
> 
> I'm trying to connect an Atmel AT91SAM7X microcontroller to my system
>  running FreeBSD 8.1-PRERELEASE. The Linux instructions tell me to use the
>  usbserial module via
> 
> modprobe usbserial vendor=0x03eb product=0x6124
> 
> So I added
> 
> product ATMEL AT91              0x6124  AT91 Microcontroller
> 
> to
> 
> /usr/src/sys/dev/usb/usbdevs
> 
> and
> 
>         {USB_VPI(USB_VENDOR_ATMEL, USB_PRODUCT_ATMEL_AT91, 0)},
> 
> to
> 
> /usr/src/sys/dev/usb/serial/ugensa.c
> 
> The microcontroller now gets recognized but attaching it fails:
> 
> ugen1.2: <vendor 0x03eb> at usbus1
> ugensa0: <vendor 0x03eb product 0x6124, class 2/0, rev 1.10/1.10, addr 2>
>  on usbus1
> ugensa0: No interfaces
> device_attach: ugensa0 attach returned 6
> ugensa0: <vendor 0x03eb product 0x6124, class 2/0, rev 1.10/1.10, addr 2>
>  on usbus1
> ugensa0: No interfaces
> device_attach: ugensa0 attach returned 6
> 
> 
> usbconfig -d ugen1.2 dump_all_config_desc
> 
> gives:
> 
> ugen1.2: <product 0x6124 vendor 0x03eb> at usbus1, cfg=0 md=HOST spd=FULL
> (12Mbps) pwr=ON
> 
> 
>  Configuration index 0
> 
>     bLength = 0x0009
>     bDescriptorType = 0x0002
>     wTotalLength = 0x0043
>     bNumInterfaces = 0x0002
>     bConfigurationValue = 0x0001
>     iConfiguration = 0x0000  <no string>
>     bmAttributes = 0x00c0
>     bMaxPower = 0x0000
> 
>     Interface 0
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0000
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0001
>       bInterfaceClass = 0x0002
>       bInterfaceSubClass = 0x0002
>       bInterfaceProtocol = 0x0000
>       iInterface = 0x0000  <no string>
> 
>       Additional Descriptor
> 
>       bLength = 0x05
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x00
>        RAW dump:
>        0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x04
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x02
>        RAW dump:
>        0x00 | 0x04, 0x24, 0x02, 0x00
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x05
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x06
>        RAW dump:
>        0x00 | 0x05, 0x24, 0x06, 0x00, 0x01
> 
> 
>       Additional Descriptor
> 
>       bLength = 0x05
>       bDescriptorType = 0x24
>       bDescriptorSubType = 0x01
>        RAW dump:
>        0x00 | 0x05, 0x24, 0x01, 0x00, 0x01
> 
> 
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0083  <IN>
>         bmAttributes = 0x0003  <INTERRUPT>
>         wMaxPacketSize = 0x0008
>         bInterval = 0x00ff
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> 
> 
>     Interface 1
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0001
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0002
>       bInterfaceClass = 0x000a
>       bInterfaceSubClass = 0x0000
>       bInterfaceProtocol = 0x0000
>       iInterface = 0x0000  <no string>
> 
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0001  <OUT>
>         bmAttributes = 0x0002  <BULK>
>         wMaxPacketSize = 0x0040
>         bInterval = 0x0000
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> 
>      Endpoint 1
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0082  <IN>
>         bmAttributes = 0x0002  <BULK>
>         wMaxPacketSize = 0x0040
>         bInterval = 0x0000
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> 
> 
> What do I have to do to connect that microcontroller?
> 

Hi,

Try loading/patching the umodem driver.

--HPS


More information about the freebsd-usb mailing list