Support for Easybox 904 LTE

The bug is affecting wl001's MAC. It's also present with a 4.19 kernel.
Is the wifi code specific to the Easybox 904?

br-lan    Link encap:Ethernet  HWaddr D4:63:FE:01:CB:C4  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5713 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6478 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:740225 (722.8 KiB)  TX bytes:4254609 (4.0 MiB)

br-wan    Link encap:Ethernet  HWaddr D4:63:FE:01:CB:C5  
          inet addr:192.168.0.17  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6768 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5787 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4273252 (4.0 MiB)  TX bytes:883188 (862.4 KiB)

eth0      Link encap:Ethernet  HWaddr 00:11:22:33:44:55  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13866 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12947 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6067277 (5.7 MiB)  TX bytes:5876289 (5.6 MiB)

eth0.1    Link encap:Ethernet  HWaddr D4:63:FE:01:CB:C4  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5713 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6478 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:740225 (722.8 KiB)  TX bytes:4254609 (4.0 MiB)

eth0.3    Link encap:Ethernet  HWaddr 00:11:22:33:44:55  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1378 errors:0 dropped:1 overruns:0 frame:0
          TX packets:590 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:692510 (676.2 KiB)  TX bytes:615434 (601.0 KiB)

eth0.66   Link encap:Ethernet  HWaddr 00:11:22:33:44:55  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:79 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:14192 (13.8 KiB)

Strange VLAN... Inelegant, but it works.

The issue of eth0's MAC (and similarly the wifi's MACs) being set to 00:11:22:33:44:55 (probably because it cannot be read out properly?) is present in the images provided by Zuzia, but not in the one from RENErica. I'm not sure through whether it's a kernel/code issue or a configuration issue.

Interfaces are not properly configured on first run ... i don't know why. Just add a section to /etc/config/network:

config device
	option name 'eth0'
	option macaddr 'D4:63:FE:01:CB:C4'

Then MAC eth0 looks nice:

eth0      Link encap:Ethernet  HWaddr D4:63:FE:01:CB:C4  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:174651 errors:0 dropped:0 overruns:0 frame:0
          TX packets:175143 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:202880109 (193.4 MiB)  TX bytes:209584408 (199.8 MiB)

However, it is not at all necessary. With the address 00: 11: 22: 33: 44: 55 it will work without any problems.

Using the "fallback" MAC of 00:11:22:33:44:55 works without any problems as long as only a single device does so within a broadcast domain. Otherwise ARP resolution will lead to weird results.
I'm still wondering what is causing that bug.
I compared the syslogs for the two images.
The difference I see is:

[ 109.250227] RT3883iNIC: 802.11n WLAN MII driver v2.4.0.6 (Feb. 09, 2011)
[ 109.256918] eth0.3: Master at 0x0, 00:11:22:33:44:55
[ 109.261819] Use default profile path.
[ 109.265402] -----> mii_hardware_reset
[ 109.279149] -----> mii_hardware_reset
[ 109.281374] Update MAC(0)=00:11:22:33:44:5b

vs.

[ 63.770120] RT3883iNIC: 802.11n WLAN MII driver v2.4.0.6 (Feb. 09, 2011)
[ 63.776832] eth0.3: Master at 0x0, 00:11:22:33:44:55
[ 63.781734] Use default profile path.
[ 63.785322] -----> mii_hardware_reset
[ 63.799069] -----> mii_hardware_reset
[ 63.801350] Update MAC(0)=d4:63:fe:01:cb:ca

Also, there's /etc/board.d/02_network with lantiq_setup_macs():

arcadyan,vgv952cjw33-e-ir-vpe|\
arcadyan,vgv952cjw33-e-ir-smp)
	lan_mac=$(mtd_get_mac_ascii ubootconfig ethaddr)
	wan_mac=$(macaddr_add "$lan_mac" 1)
	;;

Is that piece of code ever called? Is it supposed to be used?
Where are the various MAC addresses stored, i.e. where are they supposed to be read from?
And which code is supposed to do so?

Unfortunately, there is no code that should add MAC addresses to VLANs. Some init script should do this. I made an example configuration manually.

config interface 'lan'
	option type 'bridge'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ipv6 '0'
	list ifname 'eth0.1'
	list ifname 'eth0.66'
	option force_link '1'

config device 'lan_eth0_1_dev'
	option name 'eth0.1'
	option ipv6 '0'
	option macaddr '9C:80:DF:63:F9:D1'

config device
	option name 'eth0'
	option ipv6 '0'
	option macaddr '9C:80:DF:63:F9:DE'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0 6t'

config switch
	option name 'switch1'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch1'
	option vlan '1'
	option ports '0 1 2 4 6t'

config device 'inic_dev'
	option name 'eth0.3'
	option macaddr '9C:80:DF:63:F9:D2'

config interface 'inic'
	option proto 'none'
	option ifname 'eth0.3'

config switch_vlan
	option device 'switch0'
	option vlan '3'
	option vid '3'
	option fid '3'
	option ports '5 6t'

config device 'wlan_dev'
	option name 'eth0.66'
	option macaddr '9C:80:DF:63:F9:D3'

config device 'guest_wlan_dev'
	option name 'eth0.71'
	option mtu '1500'
	option ipv6 '0'
	option macaddr '9C:80:DF:63:F9:D4'

config switch_vlan
	option device 'switch0'
	option vlan '4'
	option vid '66'
	option fid '4'
	option ports '5t 6t'

config switch_vlan
	option device 'switch0'
	option vlan '5'
	option vid '71'
	option fid '5'
	option ports '5t 6t'

It looks correct.

br-lan    Link encap:Ethernet  HWaddr 9C:80:DF:63:F9:D1  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:442839 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1191387 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:252204871 (240.5 MiB)  TX bytes:1628991578 (1.5 GiB)

br-wan    Link encap:Ethernet  HWaddr 9C:80:DF:63:F9:DF  
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1191193 errors:0 dropped:0 overruns:0 frame:0
          TX packets:426873 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1610254330 (1.4 GiB)  TX bytes:237026904 (226.0 MiB)

eth0      Link encap:Ethernet  HWaddr 9C:80:DF:63:F9:DE  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1659749 errors:0 dropped:1 overruns:0 frame:0
          TX packets:1620081 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1909032476 (1.7 GiB)  TX bytes:1879810156 (1.7 GiB)

eth0.1    Link encap:Ethernet  HWaddr 9C:80:DF:63:F9:D1  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:442839 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1191387 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:252204871 (240.5 MiB)  TX bytes:1628991578 (1.5 GiB)

eth0.3    Link encap:Ethernet  HWaddr 9C:80:DF:63:F9:D2  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25663 errors:0 dropped:1 overruns:0 frame:0
          TX packets:640 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3407636 (3.2 MiB)  TX bytes:620204 (605.6 KiB)

eth0.66   Link encap:Ethernet  HWaddr 9C:80:DF:63:F9:D3  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1172 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:131658 (128.5 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5011 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5011 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:598015 (583.9 KiB)  TX bytes:598015 (583.9 KiB)

wl000     Link encap:Ethernet  HWaddr 9C:80:DF:63:F9:D7  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wl010     Link encap:Ethernet  HWaddr 9C:80:DF:63:F9:D9  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

of course you can manually set any MAC address, but at least for the physical interfaces there should be a MAC address stored in the box's hardware configuration which OpenWRT should read and apply on startup. I suppose that the code I cited above was meant for exactly that purpose.

Hello! I'm new there.

Today I installed OpenWrt on my Easybox and I have some questions. I want to connect my Easybox router to the main router via LAN cable, while having access to the web interface on Easybox. Is it possible?

I tried to set the WAN interface mode to static IP address, and enter an address that is included in the DHCP server range on main router (192.168.0.101). But my main router does not see Easybox as a client. Next I tried to change the WAN mode to DHCP client. This also didn't help, but Easybox start working as network switch, and I was able to access from it to my local network, bypassing Easybox web interface.

But if I set the br-lan interface mode to DHCP client, i can see Easybox in DHCP clients on my main router. It has IP address, but i have no access to web interface on this IP.

Could you help me please? I'm very bad at knowledge how work with switch in OpenWrt.

Not exactly. OpenWrt reads and writes a valid hardware MAC, but only to LAN (br-lan) and WAN (dsl0, eth0.2 etc.). The MAC address configuration is missing for the rest of the VLANs. Assigns the default 00:11:22:33:44:55.

It should be used during the first boot of the system. If you delete the file /etc/config/network and restart the router - it will do so again.

With kernel 4.19 or 5.4?

I'm not exactly sure what you're up to, but if all you want to do for the time being is to play around with your Easybox, I recommend the following setup:

Configure your main router's LAN to 192.168.1/24, the router's own LAN IP to something like 192.168.1.3 (not 192.168.1.1) and the router's DHCP range to some portion out of 192.168.1/24 higher than the router's LAN IP.
Now you can connect your OpenWRT router via LAN cable using its standard static LAN IP address of 192.168.1.1.
This should give you what you're asking for. Of course there are other conceivable fancier setups.
The above setup does not provide Internet access to your OpenWRT router. In case you want to have that you need to apply appropriate routing configuration on that device.

For the moment I would be happy if LAN and WAN interfaces had been assigned a proper MAC read from the box's hardware configuration. With the image you kindly provided all MACs are undefined and therefore default to 00:11:22:33:44:55 though (or are derived by incrementing that MAC).
You mention that the code to read the MACs from the hardware configuration is run only on the first boot, i.e. when /etc/config/network does not exist. Or in other words, once that config file does exist, even in case it does not specify/override MAC addresses, OpenWRT nonetheless no longer attempts to establish the interfaces' MACs from the device's hardware configuration?
That would be weird because any vanilla image which includes an /etc/config/network config file would prevent the particular box's MAC from being read.

... looks like I'll have to dig a bit deeper into the code in order to better understand the mechanism...

If the file /etc/config/network exists then OpenWrt no longer looks for real MAC addresses.
Addressing also depends on these settings:

I had a look how the original firmware handles MACs. There is only one base MAC stored in the config in mtdblock6. There are up to two LAN MAC addresses (base, base+1), then WAN MAC addresses are base+2, and WiFi MAC addresses (in fact four) are base + 6.
With the current OpenWRT image, the base MAC is also read in /etc/board.d/02_network and stored as lan_mac in /etc/board.json, while wan_mac is calculated as base+1 and also stored there.
Wouldn't it make sense to do analogously for the WLAN MAC, just as the original firmware does?

I also had a look at how OpenWRT handles things on a 6431. There the LAN and WLAN MACs (in fact consecutive MACs) apparently do not need to be configured, but are derived from the interface's hardware. The WAN MAC (in fact the subsequent one) is configured in board.json and thus explicitly set in /etc/config/network.
Why do the LAN's and WLAN's MACs on a 6431 not need to explicitly configured in /etc/config/network? What the difference to the Easybox 904 wrt. MAC addresses?

If anyone is interested in an Easybox 904xdsl or two to tinker with, I have two here that I would give away [...]

Edit: Both are gone.

Those from Germany (or elsewhere) interested in an Easybox 904 should search the "give away for free" category on https://www.ebay-kleinanzeigen.de to find one.

1 Like

Is this the most appropriate thread to discuss ISDN (S0 port) support for the Easybox 904 XDSL?
As one can see from dmesg of the original firmware (or e.g. here: http://arny.tjps.eu/OpenWrt/EasyBox904xDSL/oem-firmware-info/bootlog.txt) the ISDN chip is found at 0xb0000000. The original firmware uses an ISDN stack from German vendor Stollmann AG (as a Linux 2.6 kernel module), most likely this product: https://www.yumpu.com/en/document/view/9543226/overview-isdn-software-modules-stollmannde
https://randomprojects.org/wiki/Vodafone_EasyBox_904_xDSL lists the ISDN chip as Lantiq PEF 82902, which is also known as Infineon PEF 82902, found in Stollmann's list of supported chips for their ISDN stack. The original firmware recognizes the chip as IPACX Chip-ID=0x20, which is probably the ID for the Infineon T-SMINTI PEF 82902 within the IPACX family (?) of Infineon ISDN chips.
Infineon chips, at least some of them, are supported by Linux's mISDN: https://cateee.net/lkddb/web-lkddb/MISDN_INFINEON.html
This seems to be limited to PCI cards though.
What would be the interface standard needed here instead? Do you see any chance of getting to work mISDN with the 904's ISDN chip?
(In case another thread is more appropriate please feel free to point out so. thanks)

Sorry for my absense but i have not much time at the moment.
@QAuge
Thanks that you have update to kernel 5.4.x now i have build and it works, but not much testet in the moment.

I think it is good idea when somewere with know how (ähm you) get involved in this diskusion here:

and asking for fixed link definitions.

@gschwarz

AVM use an other Chip (vendor dialog or so POTS and DECT) but this device and the most other Arcadyan devices use the Lantiq SLIC which driver exist. These Lantiq driver need the second core (or better thread).

I am really interrested on ISDN too but fear there is no realistic chance.
There exist two ISDN modules: stollmann_isdn and drv_isdn
possible ICs where have to do with it:
Modular ISDN NT (intelligent): Lantiq PEF 82902 F V1.1 T TSMINTI 4B3T
Voice direct access arrangement (DAA): SiLabs Si3050-FT
TBR-21 line-side device: SiLabs Si3011-FS
But i am not shure if that the PEF 82902 is really for the ISDN S0-bus, i gues it is possible for NTBA splitter etc behind the DSL-connector
see:

PEF 80902 and 82902 see here: http://pdf.datasheetcatalog.com/datasheet/infineon/1-t_sminto_ds1_v11datasheet.pdf

1 Like

hello
i have an easybox 904 xdsl. i successfully installed the fullimage from this website: https://app.box.com/s/tjeobifjb8ohj90m5k2u7g1efgq8308y/folder/60284896266 via TFTP.

after that, i change my network settings to ip 192.168.1.2 and gateway to 192.168.1.1 to be able to access the router interface.

when i got into it, i could upload a sysupdate.bin and flash it. i tried to do it with the sysupdate rom this link: https://app.box.com/s/hvqg535dnubt4r2ontpmtodpvt6ydf00/folder/117668025297

problem is, it never flashes it. im stuck at the fullimage flash from december 2018. it never flashes the 2020 sysupdate, although i upload it successfully, it shows me checksum and "proceed". then this comes up: https://i.imgur.com/f1CPsDx.png for like 2 sec and disappears.

thats all. no reboot, no flash. its doing nothing. unfortunately i didnt find a good tutorial why and how i should fix this. people say in this forum i need to fullimage flash again a newer version, but the only newest fullimage is from december 2018.

i am a bit confused how to solve this. the openwrt tutorial wasnt helpful either, since it never told me about switching ip to 192.168.2.1 and gateway to 192.168.1.1 in the first place. i got the info from this website: https://github.com/majuss/easybox904/blob/master/guides/openwrt.md i would be glad if anyone could help me out. and if possible, try ot explain with simple words and simple instructions.

Not exactly. A new version is available.