Realtek RTL8152
andym (447) 473 posts |
Has anyone got this chipset working with the latest EtherUSB with CDC-ECM devices enabled? My system will recognise it, and put an EtherUSB entry in Interfaces, but it will not connect successfully. Very mixed responses dependent on the method I use to set up the interface. I seem to get further with the ROOL stack than the ROD stack, but both are struggling. If I use DHCP, I get an IP address of 169.254.0.0 which I realise means it’s not connected. ShareFS shows the drives on the network, but trying to connect to them gets me the dreaded red hourglass and notghing beyond that. If I set a static address system, I cannot connect outside of my home network, but ShareFS works as it should. This works with the ROOL stack, but doesn’t with the ROD stack. I looked at the USBSetConfig command but the help and documentation I could find for that is minimal. I can easily work out the device element but what do I do with the config element? And would this help? I notice in both cases, the listed hardware (MAC) address is 00:00:00:00:00:00, (as is the device’s serial number, according to USBinfo) which makes me wonder… |
Steve Pampling (1551) 8170 posts |
The prefix 00:00:00 says it’s a XEROX, but I think that the driver is failing to read the device details. |
Thomas Milius (7848) 116 posts |
I have had a look into my sources history. From two users I know that the RTL8153 has been tested successfully. It seems that ROOL added the RTL8152 afterwards (in their latest source I am aware of). Perhaps you can examine the device yourself. According to ROOLs source the configuration should be 2. Perhaps you should an Or set the configuration manually to 2 (Using USBSetConfig) and aftwards doing a RMReinit. |
Thomas Milius (7848) 116 posts |
Your description looks as if the device in general works. EtherUSB only creates an according ej driver entry. *EJInfo should show the entry. Using DHCP is such a thing. Also *ifconfig -a may help to analyze the situation. |
Thomas Milius (7848) 116 posts |
The MAC is obtained inside EtherUSB CDC part. This part may be a bit problematically AFAIR. The according USB control request requires a language. At my devices it will return always the same MAC (12 hexchars) for every language but you must pass a valid language. You should be able to trace this using syslog. |
James Peacock (318) 129 posts |
EtherUSB can reserve unit numbers for specific devices based on MAC address. This was added to aid development, but may help if you have multiple ej devices. This may only work for devices where the MAC is known early enough, however it only needs to be done for one of the devices. https://gitlab.riscosopen.org/RiscOS/Sources/Networking/Ethernet/EtherUSB/-/blob/master/doc/!ReadMe |
andym (447) 473 posts |
Okay, here’s some of the information that may help: ejinfo ej0: CDC, USB bus 1, device 5, Devices:$.USB5, up Interface driver : ej Standard clients: Type 8035 (AddrLvl 01, ErrLvl 00) handler=(fc3a2914/300035a4) ifconfig -a usbconfinfo 5 No. of interfaces : 2 Config value : 2 Name : ’’ Attributes : Bus powered Remote wakeupMaximum power : 100mA Interface 0.0 class 2.6:0 ‘CDC Communications Control’ Interface 1.0 class 10.0:0 ’’ Interface 1.1 class 10.0:0 ‘Ethernet Data’ usbdevinfo 5
All looks like I would expect it to. I’m increasingly minded to suspect that, because the serial number is 000000000000, could this be being translated to a MAC address of 00:00:00:00:00:00? And could it be that my router is just rejecting this because it doesn’t think it’s real? This is borne out by the router not knowing the device is connected, even when using static IPs. Back in the day, wasn’t there a command to set the MAC address of a device that didn’t have one? Early Pi machines didn’t, did they? Nor Beagleboards and Pandaboards, as I remember. |
Thomas Milius (7848) 116 posts |
I agree that the reports are looking good (except the MAC). |