>Submitter-Id:  current-users
>Originator:    Marcin Cieslak
>Confidential:  no 
>Synopsis:      avrdude unable to talk to Arduino board (via uftdi)
>Severity:      serious
>Priority:      medium
>Category:      usb
>Class:         sw-bug
>Release:       FreeBSD 9.0-CURRENT amd64
>Environment:
System: FreeBSD radziecki.saper.info 9.0-CURRENT FreeBSD 9.0-CURRENT #5 
r206987: Tue Apr 27 20:45:03 CEST 2010 
sa...@radziecki.saper.info:/usr/obj/usr/src/sys/VAIO amd64

avrdude-5.10 installed from ports, using default /usr/local/etc/avrdude.conf

Arduino Duemilanove board with ATMega328 processor.

Using Arduino USB interface, appearing as uftdi:

# usbconfig -d ugen4.3 dump_device_desc
ugen4.3: <FT232R USB UART FTDI> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) 
pwr=ON

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000 
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0008 
  idVendor = 0x0403 
  idProduct = 0x6001 
  bcdDevice = 0x0600 
  iManufacturer = 0x0001  <FTDI>
  iProduct = 0x0002  <FT232R USB UART>
  iSerialNumber = 0x0003  <A8008pRI>
  bNumConfigurations = 0x0001

# usbconfig -d ugen4.3 dump_all_config_desc

ugen4.3: <FT232R USB UART FTDI> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) 
pwr=ON


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0020 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00a0 
    bMaxPower = 0x002d 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x00ff 
      bInterfaceSubClass = 0x00ff 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x0002  <FT232R USB UART>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 




>Description:

Any attempt to contact the board using avrdude fails.
Checked with the same hardware (dual-boot) and Microsoft
Vista (with arduino-0018 IDE) and the board can be
contacted and programmed without any problems.

Syslog with:
hw.usb.ucom.debug: 15
hw.usb.uftdi.debug: 15

avrdude -c arduino -p m328p -P /dev/cuaU0 

Aug  4 18:10:04 radziecki saper: Connecting board
Aug  4 18:10:07 radziecki kernel: ugen4.3: <FTDI> at usbus4
Aug  4 18:10:07 radziecki kernel: uftdi0: <FT232R USB UART> on usbus4
Aug  4 18:10:07 radziecki kernel: uftdi_attach: 
Aug  4 18:10:07 radziecki kernel: ucom_attach_tty: tp = 0xffffff0003cd8400, 
unit = 0
Aug  4 18:10:07 radziecki kernel: ucom_attach_tty: ttycreate: U0
Aug  4 18:10:07 radziecki kernel: ucom_open: tp = 0xffffff0003cd8400
Aug  4 18:10:07 radziecki kernel: ucom_dtr: onoff = 1
Aug  4 18:10:07 radziecki kernel: ucom_line_state: on=0x01, off=0x00
Aug  4 18:10:07 radziecki kernel: ucom_rts: onoff = 1
Aug  4 18:10:07 radziecki kernel: ucom_line_state: on=0x02, off=0x00
Aug  4 18:10:07 radziecki kernel: ucom_ring: onoff = 0
Aug  4 18:10:07 radziecki kernel: ucom_line_state: on=0x00, off=0x08
Aug  4 18:10:07 radziecki kernel: ucom_break: onoff = 0
Aug  4 18:10:07 radziecki kernel: ucom_line_state: on=0x00, off=0x04
Aug  4 18:10:07 radziecki kernel: ucom_param: sc = 0xffffff0003cd9458
Aug  4 18:10:07 radziecki kernel: uftdi_pre_param: 
Aug  4 18:10:07 radziecki kernel: ucom_cfg_open: 
Aug  4 18:10:07 radziecki kernel: uftdi_cfg_open: uftdi_cfg_param: 
Aug  4 18:10:46 radziecki saper: Starting avrdude
Aug  4 18:10:48 radziecki kernel: ucom_param: sc = 0xffffff0003cd9458
Aug  4 18:10:48 radziecki kernel: uftdi_pre_param: 
Aug  4 18:10:48 radziecki kernel: ucom_dtr: onoff = 1
Aug  4 18:10:48 radziecki kernel: ucom_line_state: on=0x01, off=0x00
Aug  4 18:10:48 radziecki kernel: ucom_rts: onoff = 1
Aug  4 18:10:48 radziecki kernel: ucom_line_state: on=0x02, off=0x00
Aug  4 18:10:48 radziecki kernel: uftdi_cfg_param: 
Aug  4 18:10:48 radziecki kernel: ucom_ioctl: cmd = 0x402c7413
Aug  4 18:10:48 radziecki kernel: ucom_ioctl: cmd = 0x402c7413
Aug  4 18:10:48 radziecki kernel: ucom_ioctl: cmd = 0x802c7414
Aug  4 18:10:48 radziecki kernel: ucom_param: sc = 0xffffff0003cd9458
Aug  4 18:10:48 radziecki kernel: uftdi_pre_param: 
Aug  4 18:10:48 radziecki kernel: ucom_ioctl: cmd = 0x8004667e
Aug  4 18:10:48 radziecki kernel: ucom_ioctl: cmd = 0x8004667d
Aug  4 18:10:48 radziecki kernel: ucom_ioctl: cmd = 0x4004746a
Aug  4 18:10:48 radziecki kernel: ucom_ioctl: cmd = 0x8004746d
Aug  4 18:10:48 radziecki kernel: ucom_dtr: onoff = 1
Aug  4 18:10:48 radziecki kernel: ucom_line_state: on=0x01, off=0x00
Aug  4 18:10:48 radziecki kernel: ucom_rts: onoff = 1
Aug  4 18:10:48 radziecki kernel: ucom_line_state: on=0x02, off=0x00
Aug  4 18:10:48 radziecki kernel: ucom_ioctl: cmd = 0x4004746a
Aug  4 18:10:48 radziecki kernel: ucom_ioctl: cmd = 0x8004746d
Aug  4 18:10:48 radziecki kernel: ucom_dtr: onoff = 0
Aug  4 18:10:48 radziecki kernel: ucom_line_state: on=0x00, off=0x01
Aug  4 18:10:48 radziecki kernel: ucom_rts: onoff = 0
Aug  4 18:10:48 radziecki kernel: ucom_line_state: on=0x00, off=0x02
Aug  4 18:10:48 radziecki kernel: uftdi_cfg_param: 
Aug  4 18:10:48 radziecki kernel: ucom_outwakeup: sc = 0xffffff0003cd9458
Aug  4 18:10:48 radziecki last message repeated 2 times
Aug  4 18:10:53 radziecki kernel: ucom_ioctl: cmd = 0x4004746a
Aug  4 18:10:53 radziecki kernel: ucom_ioctl: cmd = 0x8004746d
Aug  4 18:10:53 radziecki kernel: ucom_dtr: onoff = 1
Aug  4 18:10:53 radziecki kernel: ucom_line_state: on=0x01, off=0x00
Aug  4 18:10:53 radziecki kernel: ucom_rts: onoff = 1
Aug  4 18:10:53 radziecki kernel: ucom_line_state: on=0x02, off=0x00
Aug  4 18:10:53 radziecki kernel: ucom_ioctl: cmd = 0x802c7415
Aug  4 18:10:53 radziecki kernel: ucom_outwakeup: sc = 0xffffff0003cd9458
Aug  4 18:10:56 radziecki saper: avrdude timeout
Aug  4 18:11:18 radziecki saper: Sending INTR to avrdude
Aug  4 18:11:19 radziecki kernel: ucom_outwakeup: sc = 0xffffff0003cd9458
Aug  4 18:11:23 radziecki kernel: ucom_close: tp=0xffffff0003cd8400
Aug  4 18:11:23 radziecki kernel: ucom_shutdown: 
Aug  4 18:11:23 radziecki kernel: ucom_cfg_close: 
Aug  4 18:11:33 radziecki saper: avrdude ended
Aug  4 18:11:41 radziecki saper: Disconnecting board
Aug  4 18:11:44 radziecki kernel: ugen4.3: <FTDI> at usbus4 (disconnected)
Aug  4 18:11:44 radziecki kernel: uftdi0: at uhub5, port 3, addr 3 
(disconnected)
Aug  4 18:11:44 radziecki kernel: ucom_detach_tty: sc = 0xffffff0003cd9458, tp 
= 0xffffff0003cd8400
Aug  4 18:11:44 radziecki kernel: ucom_close: tp=0xffffff0003cd8400
Aug  4 18:11:44 radziecki kernel: ucom_close: tp=0xffffff0003cd8400 already 
closed
Aug  4 18:11:44 radziecki kernel: ucom_close: tp=0xffffff0003cd8400
Aug  4 18:11:44 radziecki kernel: ucom_close: tp=0xffffff0003cd8400 already 
closed
Aug  4 18:11:55 radziecki saper: Board disconnected

>How-To-Repeat:

Use command: 

# avrdude -c arduino -p m328p -P /dev/cuaU0 -v

avrdude: Version 5.10, compiled on Aug  3 2010 at 23:59:35
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/root/.avrduderc"
         User configuration file does not exist or is not a regular file, 
skipping

         Using Port                    : /dev/cuaU0
         Using Programmer              : arduino
avrdude: stk500_recv(): programmer is not responding

At the time the timeout message comes out Arduino's bootloader LED
blinks once indicating firmware restart.

>Fix:

_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to