New driver for LAN78XX USB Gigabit Ethernet (Raspberry Pi 3B+)

Releases, updates and announcements from the Ultibo team.
User avatar
Ultibo
Site Admin
Posts: 2079
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

New driver for LAN78XX USB Gigabit Ethernet (Raspberry Pi 3B+)

Postby Ultibo » Sun Apr 15, 2018 4:36 am

The release of the Raspberry Pi 3B+ about a month ago saw the inclusion of a new LAN7515 Gigabit Ethernet device which differs from the network device in all previous Raspberry Pi models.

A new driver has now been committed which provides support for this network device and allows the full feature set of Ultibo core to be utilized on a Raspberry Pi 3B+.

Like the SMC91X driver for the QEMU Versatile PB platform this driver implements a new buffer model at the transmit and receive layer in order to reduce the number of data copies and improve overall throughput. This driver is also the first to include support for network link state detection which will allow the transport layer to dynamically reconfigure the adapter when the link status changes, as yet this is not fully implemented in the network stack because the other drivers will also need to be updated but you may notice log entries for link status changes when using the new driver.

Note that the Raspberry Pi 3B+ also includes two 4 port USB 2.0 hubs as part of the LAN7515 device, these are detected by the existing USB hub driver and no changes are required to support them.

For details of how to apply the latest source to your Ultibo core installation and rebuild your run time library see the wiki page Building from Source or watch the Building the RTL video on YouTube.

EDIT: To use the new driver just include either the RaspberryPi2 or RaspberryPi3 units in your application, or include the LAN78XX unit by itself.
Ultibo.org | Make something amazing
https://ultibo.org
Gavinmc42
Posts: 1420
Joined: Sun Jun 05, 2016 12:38 pm
Location: Brisbane, Australia

Re: New driver for LAN78XX USB Gigabit Ethernet (Raspberry Pi 3B+)

Postby Gavinmc42 » Sun Apr 15, 2018 5:18 am

Note that the Raspberry Pi 3B+ also includes two 4 port USB 2.0 hubs as part of the LAN7515 device

2 hubs? Where did you read that?
Any clue if USB speeds/reliability goes up by using different USB connectors, ie 1 hub buffers 2 x USB connectors, other hub buffers the other two?

Which USB is best to boot from now?

Oh, and well done by the way :D

I now have to rewire my house for 1Gbs Ethernet, cable and switches :lol:
Ok, my 5e cables should be ok, the 10/100mbs switches will need replacing ;)
User avatar
Ultibo
Site Admin
Posts: 2079
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

Re: New driver for LAN78XX USB Gigabit Ethernet (Raspberry Pi 3B+)

Postby Ultibo » Sun Apr 15, 2018 6:08 am

Gavinmc42 wrote:2 hubs? Where did you read that?

The USB subsystem shows it when it enumerates the bus and you can see it in the USB page of WebStatus, on a 3B+ there are 3 hubs listed instead of the normal 2 (remember that USB0 is always the root hub).

Gavinmc42 wrote:Any clue if USB speeds/reliability goes up by using different USB connectors, ie 1 hub buffers 2 x USB connectors, other hub buffers the other two?

We haven't done any exploration of which way the hubs are wired up but Ultibo knows all of that information, you can use USBDeviceEnumerate() and then USBDeviceGetHub() and USBDeviceGetPort() to figure out which ports appear on which connectors.
Ultibo.org | Make something amazing
https://ultibo.org

Return to “Ultibo”

Who is online

Users browsing this forum: No registered users and 1 guest