The Amiga Future 141 was released on the November 5th.
4 posts • Page 1 of 1
I have had good success with Roadshow using several network interfaces. However with the newer Asix USB dongles there seems to be a bug either in Poseidon USB or in Roadshow.
Here's what I found out:
- Amiga 1200, 030, 128MiB
- Ethernet controller based on Asix AX88772B chipset.
- OS 3.1
- Roadshow 1.13 full with latest ping update
- Poseidon 4.5 with RapidRoad USB controller.
Asix controller is correctly detected by Poseidon and exposed via SANA on usbasixeth.device. Link status is correctly negotiated at 100Mb/s full duplex.
- Edit Devs/NetInterfaces/Asix change device=asixeth.device to device=usbasixeth.device
- AddInterface Asix shows error in the log as follow:
[error]: Interface "Asix" configuration failed with station address = D8:EB:97:B8:BE:C4 (5,7, Bad address, Source address problem).
- ShowNetStatus and GetNetStatus both show that no network is configured. DHCP failed. AddInterface exits with input/output error shown on console.
- D8:EB:97:B8:BE:C4 looks like a weird mac address. Still, I confirm that it is indeed the correct mac address burned into the adapter by plugging it into my windows box. I also confirm the adapter does work.
- I force set the mac address to something from an old adapter that looks more familiar to me. It starts with 00:xx:xx:xx:xx:xx
- AddInterface Asix now works! Shows MAC is set to new value and DHCP configures DNS, Gateway, IP as expected. The world is happy... until...
- Ping 127.0.0.1 --> OK
- Ping my LAN IP --> OK
- Ping Gateway IP --> nothing. timeout. packet loss 100%.
- Ping DNS IP --> nothing.
- Ping www.whatever.com --> nothing.
What I think is the bug:
- Something in the system is ignoring/not setting the 48th bit of the mac address and layer 2 routing is screwed. I can confirm this by setting the mac to different values and sees whether AddInterface succeeds (e.g. sets new mac and grabs DHCP but no connection as demonstrated above):
[0-6]0:xx:xx:xx:xx:xx --> "works"
7x:xx:xx:xx:xx:xx --> "works" 7 --> 0111
8x:xx:xx:xx:xx:xx --> does not work. 8 --> 1000 (Same error as above in network log about source address problem.)
[9-F]x:xx:xx:xx:xx:xx --> does not work.
Hence D8:EB:97:B8:BE:C4 does not work. D -->1101
Anyhow that's as far as I got. Hopefully this is helpful since these Asix USB adapters are cheap and easy to get. I'd like to get it to work eventually.
As far as I can tell the hardware address itself is fine. Don't worry about the D8 in the first octet, this is a unicast address, and it is globally unique. The specs state that the first and second bits transmitted stand for unicast/multicast (first bit) and globally unique/locally administered (second bit). The hardware transmits these octets in ascending byte order, and for each octet in ascending bit order. This means that D8 is transmitted first and D8 = 1101 1000 is sent as 0001 1011. So, the first bit is zero (= this is a unicast address) and the second bit is zero, too (= this is a globally unique address).
As far as I know the error reported can come about for two reasons.
The first being that the network driver software itself rejects configuring the local station address. It's possible, but I wouldn't know why this happens, and whether this might be a driver bug after all. The SANA-II Amiga network driver standard requires that the local station address is configured once when the driver is opened. If it's already configured because a different client has already opened it, the driver has to say so. This is not an error, and Roadshow does not treat it as an error (if it did, you would see the error message "Attempt to configure twice" rather than "Source address problem").
The second reason is that the hardware address fails a sanity check which Roadshow performs before it asks the driver to use it. That sanity check tests if the new interface to be configured is to use a hardware address which Roadshow already uses. If that is the case, the configuration process is aborted with the error you saw. Roadshow specifically checks for network interfaces which use the same hardware type (e.g. Ethernet, PPP, etc.) and the same address length.
Could you check your interface configuration files to verify that you are not accidentally using the same driver name and unit number twice? Note that it is perfectly OK for a single network interface to use multiple IPv4 addresses, but it is not safe for different network interfaces to use the same hardware address, or for exactly the same network interface to be used twice with different IPv4 addresses.
I worry about the D8 for the only reason that the only mac I can force set are with a first byte less than or equal to 7 e.g. '0111'
1. If adapter has a native mac with MSB >= 7 then I must set MSB <= 7 because otherwise I do not get a DHCP response. I just get base station error in log.
2. If adapter has a native mac with MSB <= 7 then this is not an issue. DHCP and IP works.
3. In all cases If I force set mac to something ELSE than native mac (anything valid) then DHCP OK but IP connectivity fails. (anything beyond my local IP, e.g. gateway, DNS, WAN) I believe this also holds true for other non Asix based adapter but I must confirm.
4. Manual IP config bypassing DHCP has the same results.
I have tried other 3 other ASIX based adapter and this behavior is identical.
There is only one ethernet adapter hooked up to the Amiga with only the Asix file configured in the Devs folder and one "device=usbethasix.device" line with "unit=0" which is exactly what poseidon reports.
I should also mention that the behavior is identical on another A600 with WB 3.9 and same version of Roadshow (albeit the demo)
Thanks for your support.
I am lending towards the idea that the RapidRoad adapter may play a role here. I have a somewhat similar issue where I have quirks with an asix ...772 based USB2Ethernet adapter.
I once got a a MosChip USB2Eth to work on an RR, and it solved all issues. Unfortunately, it won't work usually. I just got it to initialize once. The. It did work wonders .
See the thread 'Roadshow and FTP'.
I will try an (older) asix mcs7830 based USB2Eth- these were the devices I think we're around when the asix drivers were written.