avrdude-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [avrdude-dev] Time Problem Avrdude 5.3.1 on mac


From: Yannick PODGORSKI
Subject: RE: [avrdude-dev] Time Problem Avrdude 5.3.1 on mac
Date: Fri, 27 Apr 2007 16:38:41 +0200

Hi,
Thanks for answer.

My configuration :
  - Mac OS X V10.4.8
  - avrdude 5.3.1
  - libusb-0.1.12

I try to find where is the problem. I go to this part of code in file darwin.c 
in libusb-0.1.12 (line 851).

   if (result == kIOReturnSuccess) {
     /* wait for write to complete */
     if (CFRunLoopRunInMode(kCFRunLoopDefaultMode, (timeout+999)/ 1000, true) 
== kCFRunLoopRunTimedOut) {
       (*(device->interface))->AbortPipe(device->interface, pipeRef);
       CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, true); /* Pick up aborted 
callback */
       if (usb_debug)
         fprintf(stderr, "usb_bulk_read: input timed out\n");
     }
   }

The problem seems to be in the code :
if (CFRunLoopRunInMode(kCFRunLoopDefaultMode, (timeout+999)/1000,
true) == kCFRunLoopRunTimedOut)

The program takes 10 seconds in the CFRunLoopRunInMode function.
I don't know where this function is.

Thanks for help. 

Yannick PODGORSKI.


-----Message d'origine-----
De : Joerg Wunsch [mailto:address@hidden 
Envoyé : jeudi 26 avril 2007 21:08
À : address@hidden
Cc : Yannick PODGORSKI
Objet : Re: [avrdude-dev] Time Problem Avrdude 5.3.1 on mac

As Yannick PODGORSKI wrote:

>  25137 avrdude  0.000084 GIO   fd 2 wrote 63 bytes
>        "avrdude: usbdev_open(): Found AVRISP mkII, serno: 0000B0009933
>        "
>  25137 avrdude  0.000016 RET   write 63/0x3f
>  25137 avrdude  12.109464 CALL  write(0x2,0xbfffe8f0,0x257)                   
>                  // 12 seconds ???

It performs a couple of libusb operations at that point:

  if (usb_set_configuration(udev, dev->config[0].bConfigurationValue))
    {
      fprintf(stderr,
              "%s: usbdev_open(): error setting configuration %d: %s\n",
              progname, dev->config[0].bConfigurationValue,
              usb_strerror());
      goto trynext;
    }

  usb_interface = dev->config[0].interface[0].altsetting[0].bInterfaceNumber;
  if (usb_claim_interface(udev, usb_interface))
    {
      fprintf(stderr,
              "%s: usbdev_open(): error claiming interface %d: %s\n",
              progname, usb_interface, usb_strerror());
      goto trynext;
    }

  fd->pfd = udev;
  return;

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]