Re: Atmel USB Wireless devices

From: Daan Vreeken [PA4DAN] (Danovitsch_at_Vitsch.net)
Date: 08/28/03

  • Next message: Geoff Buckingham: "Re: Call for thread testers"
    To: Stuart Walsh <stu@ipng.org.uk>
    Date: Thu, 28 Aug 2003 19:15:44 +0200
    
    

    On Thursday 28 August 2003 15:26, Stuart Walsh wrote:
    > Hi,
    >
    > Firstly, it would be interesting to know if anyone else is working on
    > support for these devices before I get too far into it :)
    Yes, I have bought a bunch of them about a month ago, and at this moment I
    have a working driver for them. At this moment it's still a "beta" which can
    only do ad-hoc mode, but it works.

    > I've started working on support for the above devices and have had some
    > limited success so far. The device requires two sets of firmware to be
    > uploaded for it to work and I have managed to upload the first firmware
    > but it doesnt seem to want to boot. Any attempts to read the device
    > after uploading firmware result in error code 13(IOERROR). The Linux
    > driver calls usb_reset_device() after uploading the firmware but I can't
    > seem to find an equivelant in FreeBSD.
    The problem is that the device really dies after uploading the internal
    firmware. It really needs a reset before it will communicate again.
    A usb-hub can send a reset signal down it's ports with a call to :
    usbd_reset_port(sc->atuwi_udev->myhub,sc->atuwi_udev->powersrc->portno,&T);

    After that the atmel processor will start communicating again. But it's
    usb-address will be set to 0 (as always after a reset).
    So you will have to (re)set it's address back to what it was before the reset
    with a call to :
    usbd_set_address(sc->atuwi_udev,my_old_address);

    The story gets more complex since the descriptors of the device have changed
    by the reset. (first it only had a control endpoint, now it also has 2 bulk
    endpoints). Somehow you'll have to reload the new descriptor to please the
    kernel.
    I have come very far in this process, but I am doing something wrong with
    releasing the old descriptors... So at this moment I use a trick to reset the
    device.
    After uploading the internal firmware I unplug the USB connector just far
    enough for the data-lines to disconnect, but without disconnecting the
    power-lines. After plugging the device back in the kernel recognizes it again
    and uploads the external firmware.

    I'll come back to this thread tomorrow and post some links to my code, but I
    have to run now.

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


  • Next message: Geoff Buckingham: "Re: Call for thread testers"

    Relevant Pages

    • Re: Atmel USB Wireless devices
      ... The device requires two sets of firmware to be ... It really needs a reset before it will communicate again. ... > releasing the old descriptors... ... > After uploading the internal firmware I unplug the USB connector just far ...
      (freebsd-hackers)
    • Re: fx2lp out endpoint not arming (AUTOOUT mode)
      ... I found that the only way I could get the AUTOOUT function to reliably ... FIFORESET = 0x04; SYNCDELAY; ... eeprom (firmware I didn't write), then I just nuke it by uploading my ... recall in previous instances it came up as 'full' after a FIFO reset). ...
      (comp.arch.embedded)
    • Re: HP3320 scanner failure
      ... Download and install the latest firmware after reading the instructions on ... Select your product and then select "Cross operating system (BIOS, Firmware, ... If that does not work then perform an NVRAM reset as follows. ... Whilst still holding these keys power the printer on, ...
      (comp.periphs.printers)
    • Re: fx2lp out endpoint not arming (AUTOOUT mode)
      ... code but EP2CS still reports the FIFO is full after a FIFO reset ... (which I assume means it didn't arm correctly). ... eeprom (firmware I didn't write), then I just nuke it by uploading my ... recall in previous instances it came up as 'full' after a FIFO reset). ...
      (comp.arch.embedded)
    • Re: Alpha Server 1200 processor error
      ... I seem to remember a command like "sho fru" which is used to get more ... Neil Rieck ... But the reset button might work wonders and loading new firmware as well... ...
      (comp.os.vms)