Age Message
7 years 8 months atusb: fw: make the ifdefs in mac handling transceiver specific and not board specific

There could be different combinations here. E.g. there is a rzusb like board
with the transceiver replaced with an at86rf233.
7 years 8 months atusb: fw: re-factor SPI, USB and board_app code for board specifics

Move board specific code form spi, usb and board_app into the new board specific
files to avoid to many ifdefs.
7 years 8 months atusb: fw: first round of re-factor after the integration of rzusb as a board

Move board specific parts in board_$NAME.c/h for a little abstraction and less
ifdef handling in common code.
7 years 8 months atusb: fw: make sure we return correctly for both atusb as well as rzusb

This was changed by the rzusb support patch. We should use the new generic
define here which maps it correctly on both devices.
8 years 6 months atusb: fw: add support for rzusbstick

This patch adds support for the rzusbstick for the atusb firmware.
More detailed information about this usb stick:

Original I have the rzraven kit:

Which comes with a special cable and avr dragon programmer. You need
some programmer and wires to the programmers pins. To lookup how to
connect the programmer to the rzusbstick pinout, see:

page 22 (schematics of the rzusbstick).

Difference between atusb and rzusbstick(rzusb) is mainly the at86rf231
vs at86rf230 one. The rzusb contains the at86rf230 which is a little bit
hard to deal with it (and has a huge errata inside the datasheet).
Nevertheless with small schanges the atusb firmware can run now on the
rzusb. The rzusb contains also a bigger mcu, so we can maybe cache more
pdus for receive handling.

To compile the rzusb firmware call:
make NAME=rzusb

this will generate the rzusb.bin

then call the programmer (in my case avrdude):
avrdude -P usb -c dragon_jtag -p usb1287 -U flash:w:rzusb.bin

NOTE: currently there is no chance (I suppose) to ensure that the atusb
receive the correct firmware, so don't try to flash the atusb with the
rzusb firmware! Also the vendor and product id is the same.

This currently a RFC, it's a quick hack and I think we should update
more the documentation to support the rzusb.

Signed-off-by: Alexander Aring <>
Cc: Stefan Schmidt <>
Cc: Werner Almesberger <>
Commit 5129029d3bcffb21aabf38f522f4f1e5426e4919, by Alexander Aring
7 years 11 months atusb/fw: Bump version to 0.3 after adding EUI64 read/write handling
8 years 5 months atusb/fw: add EUI64 read and write fw interface to permanently set an EUI64

The kernel driver will now ask for ATUSB_EUI64_READ during init and sets this
extended address if available. Use the atusb-eui64 utility from the tools folder
to read or set the permanent address.

After a new address is set the device will reset to make sure we are in a sane
state after the change.
8 years 5 months atusb-eui64: add utility to read/write and EUI64 from/to the device EEPROM

Together with the new fw version (starting with version 0.3) it is now possible
to set a permament EUI64 address into the devices EEPROM. The Linux driver will
get updated to choose this address, if available, instead of using a randomly
generated address.
8 years 5 months flashi/spi: Use tabs instead of spaces.

Purely cosmetic. No idea when this sneaked in here.
8 years 6 months atusb/fw/flash.c (flash_ops): fix placement of "const"
8 years 6 months Merge branch 'master' of
8 years 6 months web: Correct fw path for atusb release and make rsync verbose
8 years 6 months web: Add first atusb firmware release to website.

I decided to actually keep the file directly in the repo. Its small enough
and we have the rest of the website here already.
8 years 6 months web: Update links to linux-wpan project, driver and general status

We are in a way better state now than two years ago. :)
8 years 6 months atusb/fw: Bump minor version to mark first public release.

With version 0.2 we made the first public release in binary form of the
firmware. This comes together with the merge of the ATUSB driver to the
mainline linux kernel.
8 years 6 months atusb/fw: Add build system support for adding a DFU suffix to the fw file

DFU files need to have a valid DFU suffix which provides information about the
USB vendor and product ID it should be used for as well as same basic CRC file
integrity checking. The dfu-suffix tool can add this and got added to dfu-utils
in 0.7.

With the Makefile changes we take the original atusb-bin file, make a copy and
add the DFU suffix it before flashing.
8 years 6 months atusb/fw: Use RX_AACK_ON instead of RX_ON in the firmware.

This allows to run the device in ARET networks as we handle the needed
automated ACK in hardware.
8 years 8 months Revert "atusb/fw/usb/: enable MCU reset on USB bus reset after config selection"

This reverts commit 9b2696b8488dbc39b0fdcdefdfad775913cb6e2d.

With this patch ATUSB resets constantly when I use it in QEMU with USB
8 years 7 months atusb/fw/usb/usb.c (handle_setup): skip non-interface descriptors when processing SET_INTERFACE
8 years 7 months fw/atusb/ (dfu_flash_ops): make const
8 years 7 months atusb/fw/usb/usb.c (handle_setup): also pass interface-level GET_DESCRIPTOR to get_descriptor
8 years 7 months atusb/fw/usb/usb.h: add endpoint types
8 years 7 months atusb/fw/usb/usb.h: add a few common class codes
8 years 7 months atusb/fw/usb/: fix incorrect code point for USB_CLASS_PER_INTERFACE

The code of USB_CLASS_PER_INTERFACE is 0 and not 0xfe.
USB_CLASS_APP_SPEC is 0xfe. Also corrected the use in dfu.c
9 years 1 month atusb/fw/usb/dfu.c (config_descriptor): correct alt settings off-by-one error