AVR32 NGW100 Reflashing firmware from SuSE 10.1

These are notes on how I was able to successfully reflash my NGW100 using the most recent factory images at Atmel AVR32 beta-ware site.

The reflash takes place in two stages. The first stage is done from uBoot to reflash the root file system. The second stage takes place from the NGW100 BusyBox command prompt, so you have to have a good bootable root file system in order to proceed to the second stage. The second stage is a reflash of the /usr file system.

In order to do this, you need both a working TFTP server and NFS server or you need to be able to create the /usr/ file system on a Compact Flash so that in the second stage it can pull the image from the CF instead of NFS. I went for the first method, TFTP and NFS as the source.

I should also mention that if you have issues in the second stage with updating the /usr/ flash, and you reboot, your eth0 interface will come up static and you won't be able to talk to your NFS server from the NGW100. In that case, you should still be able to manually give it an IP address like this:
Read More...

AVR32 NGW100 Notes for a Kernel Build environment on SuSE 10.1

Update 4/26/07 - rather than keeping two places up to date, I've been working out these issues along with AVR Freaks on this thread.

and one helpful link for reflashing firmware on the NGW100 is at:
http://www.avrfreaks.net/wiki/index.php/Documentation:NGW/Firmware_upgrade

4/26/07

I royally hosed my SuSE 10 environment this morning and needed to start from scratch, so thought I'd document it from a naked install of SuSE 10.0 and see if I can repeat the process only get prerequisites in place first before attempting any builds.

So, this is all with a SuSE 10.0 retail DVD and onward. I did a generic install of the distro with KDE for a desktop.

> supassword:# yast2 &

After that, through yast2, I added these packages or package sets:

Selections = C++ Compiler and Tools - check
Kernel Development - check

Additionally, check these selections if not already selected:
Development/Languages/C and C++ - selected all
Development/Languages/Other - make sure GNU binutils is checked
Development/Libraries/C and C++ - - additionally selected glib2 and glibc all include devel
Development/Libraries/C and C++ -- select e2fsprogs-devel
Sources/Kernel Sources

In Yast2 search, search for "libelf" and select it.

In Yast2 - install the "tftp" package.

Proceed to install all the selected packages from Yast2. Resolve any flex conflicts by choosing not to install the old rev and taking the new rev.
-----

Older notes....
These are notes I'm keeping on my trail to try to create a kernel build environment for the AVR NGW100 on SuSE 10.1 Linux. Note that I do not know if any of this is correct right now because I'm gunning for a working environment. I'll be figuring it out as I go.

1) The first thing I did was copy the AVR32 NGW100 Board Support Package (BSP) contents to my SuSE 10.1 linux box.

2) Knowing that I will need a GNU AVR32 compilation environment, I went into devel/linux/opensuse/10.1 and installed all the RPMs in that directory. There is no information about what depends upon what and therefore there is also no information about what order these RPMs should be installed. So, I had to go for broke. I needed to be root and then issues this command:
Read More...

AVR32 NGW100 First Look

Just got my AVR32 NGW100 board and fired it up. The thing that's very interesting about this board is that:
1) It's $69
2) It's running an embedded Linux with BusyBox
3) It's a two-port ethernet board
4) 32 bit RISC processor

It's really an incredible value...for learning if nothing else. Here are some pictures of it.

The box it came in:

HPIM4292

These next few shots show the AVR32 NGW100 next to a Gumstix BT to give you a size comparison:

HPIM4295

HPIM4297

When I first brought the board up I used my Mac with ZTerm and serial settings of:
115200 N81

The ethernet interface closest to the serial port is labeled "LAN" and in the linux embedded image is 'eth1'. It's set to come up as a static IP of 10.0.0.1. The top port is 'eth0' and is set to come as a DHCP client.

When I nmap'd the device from my Mac, this is what it showed as services running/open by default.

Pasted Graphic 1

You can ssh into the system if you know it's DHCP address. If you are monitoring the device console with a serial terminal, it's easy to get. I tested ssh to the device and it worked great:

Pasted Graphic 2

Once in, if you take a look at the disk layout you get:

Pasted Graphic 3

An initial ps shows these processes running:
Pasted Graphic 4

If you want to start changing the network interface configuration of the device, edit /etc/network/interfaces - you will clearly see they have one port statically wired to 10.0.01 and one is DHCP.

Oddly, though the httpd server is running as shown by the ps command, I could not telnet localhost 80, nor could I telnet to 192.16.5.170 (the DHCP address) at port 80 either. I could however hit port 80 from my Mac though I got the HTTPD forbidden erro back. At least it did connect on port 80, just not locally...not sure why that is unless it's a routing issue on the local device...haven't had a chance to dig into it.

Anyway, that's a quick spin after a startup of the device to give you a taste.

AVR MT 128 Physical Pinouts

It didn't exist and I needed something like this for working with the Olimex AVR MT 128, so I made it. I'll take requests for additional pin locations and annotations. These happened to be some of the ones I was using or expected to use.
avrmt128-back-thumb