Hi all,
I followed the Application Note 'AT91 USB CDC Driver Implementation' (which should results in a virtual comport).
I made some minor changes to the code, compiled and flashed.
The AT91 CDC ideed shows up on the pc (in my case linux):
Quote:
kernel: [99854.452041] usb 1-2: new full speed USB device using uhci_hcd
and address 114
kernel: [99854.627426] usb 1-2: configuration #1 chosen from 1 choice
kernel: [99854.631041] usb 1-2: New USB device found, idVendor=03eb,
idProduct=6119
kernel: [99854.631057] usb 1-2: New USB device strings: Mfr=0,
Product=1, SerialNumber=0
kernel: [99854.631065] usb 1-2: Product: AT91USBSerial
but does not conect to a virtual com port (/dev/ttyUSBx).
usbserial driver is up and running:
Code:
lsmod | grep -i usbserial zeigt:
results in:
usbserial 26472 2 ftdi_sio,pl2303
another
Code:
modprobe usbserial vendor=0x03EB product=0x6119
does not change anything, still:
Code:
lsmod | grep -i usbserial zeigt:
results in:
usbserial 26472 2 ftdi_sio,pl2303
which are my other usb devices. Should not the AT91USB device show up here?
On microcontroller-side, the USB startup code runs through:
Code:
//=== Device is not configured
if (USBD_GetState() < USBD_STATE_CONFIGURED){
USBD_Connect();
while (USBD_GetState() < USBD_STATE_CONFIGURED);
}
Afterwards, I can write data following the Application note.
The first call to
Code:
CDCDSerialDriver_Write(usb_dbuff, DATABUFFERSIZE, 0, 0);
returns USBD_STATUS_SUCCESS.
All subsequent calls return USBD_STATUS_LOCKED.
I guess this is, because the connection to the PC driver is not up and the first datablock therefore can not be send to PC.
What ame I doing wrong?
Alex