Age Message
10 days 7 hours fw/atusb: add extra steps needed for HULUSB in README

To preapre the firmware image and flash it onto the device some
different steps are needed as the bootloader uses Atmels DFU variant.

Document the use of dfu-programmer to get the firmware onto the device.
12 days 11 hours atusb/fw: Introduction of a new board named HULUSB

The Busware HUL v1.1 dongle is a product very similar
to the rzusb dongle but with the at86rf212 instead of
the at86rf230 transceiver.

Some code refactoring has been made in order to better
support multiple hardware targets. This includes:

The reset_rf functions are now in the board specific files.
The led functions are now in the board specific files.
The register read/write functions are moved from mac.c to the generic
board.c file as they are used by functions like reset_rf that are
not within the mac.c file. Also the subreg_read and subreg_write
functions were introduced for convenience.
The function to change state is now also in board.c.

The hardware types are moved into the atusb.h file (which is always
synchrornized with the linux atusb driver) because they are now used
by the driver to identify and configure the hardware.

Within the makefile a new target name is specified called: hulusb

Signed-off-by: Josef Filzmaier <>
Commit ea23c905d32bfd2478915021476f9ede2ee014b8, by Josef Filzmaier
12 days 11 hours atusb/fw: Introduce DEBUG flag

This flag can be used to enable debugging over uart. Currently only
available for boards with the at90usb1287 chip.

Signed-off-by: Josef Filzmaier <>
Commit 8c574484b889c7b17d2ba4b6929947050f87d91e, by Josef Filzmaier
4 months 13 days web/index.html: update shop links; status table; link to ATUSB schematics
9 months 19 days web: update link to new firmware version
9 months 19 days web: add 0.3 firmware binaries into release folder for web page

Next to the atusb 0.3 release file we also have the file to be flashed
onto the Atmel Raven USB dongles for the first time with this release.

Also adding checksums here to verify a download.
10 months 5 days atusb/fw: update changelog for 0.3 firmware release

Update changes that come with the new release.
1 year 4 months atusb: fw: define a new hardware type for the rzusb dongle

So far we do not need this in the firmware or in the driver but this might
become handy later on.

Signed-off-by: Stefan Schmidt <>
10 months 4 days atusb-eui64: print out set address with upper case characters in hex

Align read out format with parameter format to allow easier
scripting for production.
1 year 1 month web: update status and links on the webpage

Linux-wpan is way further now and the driver is already in
mainline. Make sure our page is a bit more accurate.
1 year 1 month atusb/usb.sch, replace CONN_1 with TESTPOINT
1 year 1 month atusb/: use "r" and "c" from kicad-libs, instead of KiCad "device"

The latter even has incompatible changes. We really don't want that.
1 year 1 month atusb/: ATmega32U2 symbol was "lost"; update
1 year 5 months atusb: fw: use extended operation mode also for transmitting

With this switch we have RX as well as TX extended operation mode for the
transceiver enabled. Tested and verified for atusb as well as rzusb.

The biggest change coming with this is that the hardware no handles automatic
retransmit of frames if an ACK was requested but not received. The needed
changes to the atusb kernel driver are also done already and will be submitted
once we release version 0.3 with this change included.
1 year 5 months atusb: fw: leave the FCS check to the kernel stack

This check is more harm than good. For example in promiscuous mode we might want
to get frames with invalid CRC. The kernel subsystem is in a way better
situation to understand what the user want thus we deliver all packets and leave
the decision to him.
1 year 5 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.
1 year 5 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.
1 year 5 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.
1 year 6 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.
2 years 3 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
1 year 8 months atusb/fw: Bump version to 0.3 after adding EUI64 read/write handling
2 years 3 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.
2 years 3 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.
2 years 3 months flashi/spi: Use tabs instead of spaces.

Purely cosmetic. No idea when this sneaked in here.
2 years 3 months atusb/fw/flash.c (flash_ops): fix placement of "const"