OpenWrt Forum Archive

Topic: Atheros AR7100

The content of this topic has been archived between 30 Mar 2018 and 1 May 2018. Unfortunately there are posts – most likely complete pages – missing.

the board can have 3 ethernet ports, but the cpu has only 2 ethernet interfaces -- so 2 ethernet ports are connected to the same ethernet interface

As far as I can tell the RB433 uses the ICPlus IP175 Ethernet switch to create the 2nd and 3rd Ethernet ports. There has been some discussion surrounding the ICPlus IP175 switch. I believe that this is the same switch that is used on the RB450 as well as the RB192. (http://wiki.openwrt.org/Ip175C).

In some of the previous posts in this thread I see the following (in the dmesg outputs which have been posted):

serial8250 serial8250.0: unable to register port at index 3 (IO2e8 MEM0 IRQ3): -28
ICPlus IP175C: Registered new driver   <------ *******
Infineon ADM6996: Registered new driver

For some reason I do not see this in my dmesg (posted a couple of days ago in this thread -- page 9 bottom).

I guess my question is this... Should we be able to program the switch to make the system operate as if there were 3 Ethernet interfaces, or will this device always act like 1 main ethernet interface (eth0) and 2 additional ethernet interfaces on a switch (eth1 and eth2)?

I believe that the RB450 uses this switch to create a group of ports, when they are discussed in this thread they have been referred to as separate Ethernet ports. So I am not 100% sure why these are not available in a similar manner.

Any help in this would be great appreciated.

@paulCutler: I have just compiled a fresh ar71xx trunk, you can give it a try here. You can also test the ar7100 series that was based on different lan drivers from those on the ar71xx tree.  You may find binary images of the ar7100 tree here.

acoul, the first set of code that was posted above (fresh checkout) will not boot on my RB433. Here is the output:

RouterBOOT booter 2.14

RouterBoard 433

Authorization: Passed
CPU frequency: 300 MHz
  Memory size:  64 MB

Press any key within 2 seconds to enter setup..
loading kernel from nand... OK
setting up elf image... OK
jumping to kernel code
Linux version 2.6.26.2 (alex@extreme) (gcc version 4.2.4) #4 Tue Aug 12 14:19:49 EEST 2008
console [early0] enabled
CPU revision is: 00019374 (MIPS 24K)
Determined physical RAM map:
memory: 04000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal          0 ->    16384
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 ->    16384
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preint
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Writing ErrCtl register=00000000
Readback ErrCtl register=00000000
PID hash table entries: 256 (order: 8, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 61568k/65536k available (1702k kernel code, 3892k reserved, 312k data, 828k init, 0k highmem)
SLUB: Genslabs=6, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

I performed an svn update locally and built some new images and everything boots fine:I added ethtool to my build, but it does not appear to give any additional information on the IC Plus 175 switch or the state of the 2 ports.

When I run the code with the different lan drivers, the system loads the IC Plus 175 (I did not see this message with my load)
>>>>ag7100: initializing icPlus ip175C

In addition I see some additional messages related to the phys:
ksz_phy: autonegotiation does not completed
AG7100: unit 0 phy is up...Mii 10Mbps full duplex
ksz_phy: autonegotiation does not completed
AG7100: unit 0 phy is up...Mii 10Mbps full duplex

but it appears that I only get information from eth0 (eth1 on the label of the device). There is no response from the unit when I plug and unplug the eth2 or eth3 ports. In addition, I am unable to ping the device on any of the ethernet interfaces.

I think that we should be able to communicate/configure the Ethernet switch (IC Plus 175) from the host processor interface as is being done in other products. If someone could confirm that would be great. I believe that this is similar to the setup on the RB192, but I am not 100% sure. I can dig in further if someone could provide some guidance in that direction.

strange, in my rb411 this image loads fine:

RouterBOOT booter 2.12

RouterBoard 411

Authorization: Passed
CPU frequency: 300 MHz
  Memory size:  32 MB

Press any key within 2 seconds to enter setup..
loading kernel from nand... OK
setting up elf image... OK
jumping to kernel code
Linux version 2.6.26.2 (alex@extreme) (gcc version 4.2.4) #3 Tue Aug 12 14:19:01 EEST 2008
console [early0] enabled
CPU revision is: 00019374 (MIPS 24K)
Determined physical RAM map:
memory: 02000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal          0 ->     8192
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 ->     8192
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Writing ErrCtl register=00020fa0
Readback ErrCtl register=00020fa0
PID hash table entries: 128 (order: 7, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 29864k/32768k available (1702k kernel code, 2904k reserved, 312k data, 120k init, 0k highmem)
SLUB: Genslabs=6, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Mount-cache hash table entries: 512
net_namespace: 484 bytes
NET: Registered protocol family 16
MIPS: machine is MikroTik RouterBOARD 411/A/AH
registering PCI controller with io_map_base unset
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
squashfs: version 3.0 (2006/03/15) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY)  ÏŽÏŽ 2001-2006 Red Hat, Inc.
yaffs Aug 12 2008 14:15:39 Installing.
msgmni has been set to 58
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
console handover: boot [early0] -> real [ttyS0]
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xb9000000, irq 4
NAND flash driver for RouterBoard 4xx series version 0.1.10
NAND SPI clock 25000 kHz (AHB 150000 kHz / 6)
FLASH SPI clock 25000 kHz (AHB 150000 kHz / 6)
NAND device: Manufacturer ID: 0xad, Chip ID: 0x76 (Hynix NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00040000 : "booter"
0x00040000-0x00400000 : "kernel"
0x00400000-0x04000000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
split_squashfs: no squashfs found in "NAND 64MiB 3,3V 8-bit"
Atheros AR71xx SPI Controller driver version 0.2.2
Registered led device: rb4xx:yellow:user
TCP vegas registered
NET: Registered protocol family 17
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
VFS: Mounted root (yaffs filesystem) readonly.
Freeing unused kernel memory: 120k freed
Please be patient, while OpenWrt loads ...
Algorithmics/MIPS FPU Emulator v1.5
- preinit -
Press CTRL-C for failsafe
- init -

Please press Enter to activate this console. nf_conntrack_ftp: Unknown symbol nf_ct_expect_alloc
eth0: link up (100Mbps/Full duplex)



BusyBox v1.8.2 (2008-08-12 10:18:30 EEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
|       |.-----.-----.-----.|  |  |  |.----.|  |_
|   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
|_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
KAMIKAZE (bleeding edge, r12286) -------------------
  * 10 oz Vodka       Shake well with ice and strain
  * 10 oz Triple sec  mixture into 10 shot glasses.
  * 10 oz lime juice  Salute!
---------------------------------------------------
root@OpenWrt:/#

BTW, here is a relative thread about rb192 and kamikaze.

Hello,

On the RB450 (1 + 4 ports) it looks like this:

eth0: Atheros AG71xx at 0xba000000, irq 5
eth0: connected to PHY at 0:04 [uid=02430d80, driver=Generic PHY]
eth1: Atheros AG71xx at 0xb9000000, irq 4
eth1: connected to multiple PHYs (4)

In default configuration, eth0 is standalone and eth1 works as a 4-port switch.

Is it possible to reconfigure this mapping without using the software bridge ?
I'd like to have it behave like an 5-port switch.

Thanks,
T.

Does anyone know if drivers are available in the system to communicate with the switch (Ic Plus 175)? I have seen some code in the system that appears to be the driver to configure the switch, but have not look into it in much detail.

I do not mind using the switch as a switch (I believe that the RouterOS uses VLAN to create "3 Ethernet Interfaces") but I would like to at least be able to get status of those interfaces. Right now eth1 always appears as connected, because it is connected to the Ethernet switch. I would like to have status of the interfaces that are exposed.

Any guidance would be greatly appreciated.

Hi

I'm trying to install OpenWRT on a RB411 with an Atheros-based miniPCI (TP-Link TL-WN560G) but can't get it working. I need it to work as AP.

SVN revision: 12372

Using madwifi the wifi card is detected and I can configure it but I get errors when trying to enable the interface:

wifi0: ath_fatal_tasklet: Hardware error; resetting.

Using ath5k, I can scan and find networks. I can associate to an AP and ping it. But it's not stable and the system hangs when I have some traffic (just a few pings).

I can't get it work as AP.

Any hints?

ar71xx based routers have a hardware bug with 802.11a/b/g wifi cards. you can search this thread and find a patch for the ath5k to work. also over at wireless-testing mailing list you can find relative patches for ath5k/mac80211 in order to have AP functionality with the ath5k/hostapd set. other option is to try the latest madwifi-testing in openwrt.  a new closed hal will deal with this bug but it's not officially out yet.

(Last edited by acoul on 24 Aug 2008, 13:03)

Hi, all.

Today, I opened my device which I got recently and I found out it has ar7130.
AzureWave AW-NR580
http://www.azwave.com/product_AW-NR580_1.asp
This device has phone output.

cpu: ar7130-ac1e
flash: eon EN25P32
ram: 0732ppr v58c2256164sci5
switch: rtl8306sd
wireless: ar5416-ac1a
sound: Wolfson WM8759GED

Now I'm looking for serial console pinout...

zukky

Hi all,

I started to use last Acoul's build on a RB411 yesterday. And it boots just fine.

But when I change ipkg.conf to include more sources. "ipkg update" downloads the list of packages properly. But "ipkg install <package>" with any of the packages on the new list doesn't work. The error messages says it can not find the package.

Any idea why is this happening?

Best regards.

Hi,

just a question: there is a microswitch ("reset button") next to the 2 LEDs on my RB450.

Do you guys know if the kernel handles this switch ?

The LED control works absolutely fine.

thanks,
Tiv

Hello Guys ..... i bought a RB450, which will be arriving tomorrow, and never used RouterBoards and neither Mikrotik OS. But, when i searched and found that a Linux-Like OS was available to RBs, i immediately wanna use that instead of the original OS.

I have found this thread, read it, found that you had several problems making OpenWRT compatible with RB450 but seems work is done and it's running fine.

i would like to make some questions and would be glad if you could help me. These may seems stupid questions, but as i said, i'm completly new with all this RouterBoard and OpenWRT thing. My RouterBoard didnt even arrived while i'm writing this message.


question 1) installing OpenWRT on RB450 would be similar to instructions paulCuter posted on this thread (page 9) ?? He used a RB433 board and i'll be using a RB450.


question 2) would it be easier to simply use binary images or build my own images ?? I dont need any special features, just booting and eth working would be fine. There's no miniPCI slot on RB450, so no wifi thing is needed. I'll be using it for iptables/openvpn/dhcp/dns basically only.


question 3) if answer to #2 points to use binary images, should i use binary images from http://wifi.ozo.com/airo/openwrt/firmwa … 1xx/12286/ or binary images from http://downloads.openwrt.org/snapshots/ar7/  ?? In fact, i'm in doubt even if the second like are for RB450 boards .... 

question 4) .... to come after i got OpenWRT working on my new RB450 smile

Thanks for your help.

Good question from leonardogyn , my problem is the same.

Suguestion, a new tip only for RB450, It don´t have wireless.

Is so hard to find information about it, mixed which wireless information. I think that RB450 is ready to use open-wrt , but I not sure wich a lot of informations not related there.

Thank, I apreciate some response for leonardogyn tip.

Edison

OK, here's what I did to get my RB450 working. This will compile everything, no binary pkgs.

0. connect to the RB via a serial cable (115k/8/N/1/N), start the board, enter the boot menu (press a key) and set the boot option to network/DHCP
1.  svn co  https://svn.openwrt.org/openwrt/trunk
2. cd trunk ; make menuconfig
3. Enable Advanced configuration / Show broken platforms [ is this still necessary ?]
4. choose Target System / Atheros AR71xx [2.6]
5. Target Images: ramdisk
6. Configure whatever modules/packages you'll need. I left it on defaults.
7. make [ takes long ]
8. bring up a dhcp/tftp server on the network
9. cp bin/openwrt-ar71xx-vmlinux.elf /var/lib/tftpboot/ [ or wherever your tftp dir is ]
10. create a dhcpd entry/range for the board and specify 'filename "openwrt-ar71xx-vmlinux.elf";'
11. reboot the board and telnet to it.

I'm sure others will chime in about binary pkgs and how to deploy the system to the flash memory.

HTH,
Tiv

hey tiv, thanks for the tutorial .... i'll try later when my RB450 arrives.

in the meanwhile, i'm compiling kamikaze from trunk ..... that takes a long smile

The next work in RB450: configure the IP175C to provide 5 ethernet (eth0 to eth4), like mikrotik OS.
The atual net suport see only the 2 Atheros ethernet. The default IP175 suport/config put eth0 in letf RJ45 port (the POE port - Eth1 in the case) and eth1 in switch with next 4 rj45.
In RB150, we use admswconfig to config the switch. If we can create some application/pkg like that.
I think in use the same steps to read IP175 registers, expose in this thread, and try to find the way used in original OS.
The start is in http://wiki.openwrt.org/Ip175C.

hmmmmm i tought all 5 ethernet interfaces were working fine and isolated. No problem on the moment because i need only two interfaces.

is someone actually working on this 5 ethernet thing ?

paulCutler wrote:

I was able to get openwrt (trunk) running on my RB433 boards (thanks acoul). I would like to see if someone can confirm the steps that I used to ensure that this is the correct approach. I would be happy to put together a wiki page that could be used to help others get started. Please let me know if this is the approach that you are all using. In addition I have an issue with the Ethernet ports that I post below:


Thanks for the great work everyone!

Hi there, there is more simple way to mount kernel and FS to NAND memory using wget2nand, better told it works fine with RB433AH smile

1/ Run the .elf image by TFTP, once it finish by prompt, change the IP adreses on touched interface to get on server with FTP, where .elf and .tgz is placed
2/ Run wget2nand with .elf and .tgz place specification (f.e. wget2nand ftp://mess@10.10.9.251) and wget will take care..

Anyway.. Is there some place where I can download complete source of 71XX linux?  Thanks in advance

leonardogyn wrote:

hmmmmm i tought all 5 ethernet interfaces were working fine and isolated. No problem on the moment because i need only two interfaces.

is someone actually working on this 5 ethernet thing ?

That's not going to be simple. As far as I know, the CPU has 2 logical interfaces (i.e. 2 distinct MAC addresses), and by default, one is assigned to the 'leftmost' connector, and the rest are configured as a 4-port switch (with one internal MAC address being the other MAC).

I _GUESS_ you can have 5 or whatever number of Linux network interfaces by doing some advanced ifconfig magic (pseudo-interfaces of the eth0:1 kind), but at the frame level you're still going to have "crosstalk" between the lines on the 4-port switch.
You can probably change this 1-4 assignment to 2-3 or similar (e.g. with Broadcomm boards it is possible) but physically you can have no more than 2 Ethernet interfaces on the board.

I'd be happy to get corrected on this though.

tiv

(Last edited by tiv on 9 Sep 2008, 09:09)

i'm successfully running OpenWRT on RB450 and, at first, i tought it would enable only 2 physical network connectors instead of the 5 network connectors available using the RouterOS. But i was wrong ....

Despite the fact it really enables only 2 network interfaces (eth0 and eth1), 4 physical connectors are bridged on eth1 interface, thus giving me a 4-port switch on eth1 network interface.

that's completly OK for my needs and i really dont need 5 isolated network interfaces. If i got 5 isolated network interfaces, i was going to bridge 4 of them into a single interface, thus giving me the same 4-port switch effect i'm actually getting.

at least for my needs, RB450 support seems to be completly OK. I have not deployed it yet, i cant analise if it's stable or not. But i'm pretty sure i wont have problems on that.

tiv,

I have seen people use VLAN tags inside the Ethernet switch and the actual Linux interface which accepts the packets from the switch to make it appear that there are multiple physical interfaces when you really only have one physical interface and an on board switch which exposes more. We could do this with teh RB433 and RB450. I am not sure if the switch configuration driver is working. I think that right now the driver is in the system (ip175C) but I have been unable to determine if it is actually working or how to communicate with the switch through this driver.

I am not overly concerned about exposing multiple ethernet interfaces (eth1, eth2, eth3, etc) but I would like to be able to see the state of the external interfaces (up | down), the link speed (10 | 100), and some other parameters like this. I would be happy to dig in and configure the switch using the datasheet if someone could confirm that the driver should work and possibly some guidance on how to communicate with the driver.

If I do nto hear anything I will try to dig in and see what I can determine, but if I woudl appreciate any guidance the community has.

acoul: it seems that the issue with madwifi in master mode is solved in your latest build (i suppose the newly released ath hal is included)

another small problem arised when i tried to use ipkg... busybox is compiled without ipkg applet (older busybox binary can be used)

ipkg has been depreciated, use opkg (now default)