tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Driver for Raspberry Pi 3B+ ethernet adapter (Microchip LAN75xx/LAN78xx)



I've ported mue(4), driver for Microchip LAN75xx/LAN78xx known as
internal NIC of Raspberry Pi 3B+, from OpenBSD.

Here's source codes as well as patch for other parts of kernel:
  http://www.NetBSD.org/~rin/mue20180825

The driver has been tested on following devices:

    - Raspberry Pi 3B+ (LAN7800)
    - Z-TEK ZE582 (LAN7500) on both RPI3b+ and ThinkPad X60 (amd64)

dmesg and performance on RPI3b+ are as follows:

    % dmesg
    ...
    mue0 at uhub2 port 1
    mue0: SMSC (0x424) LAN7800 USB 3.1 gigabit ethernet device (0x7800), rev 2.10/3.00, addr 7
    mue0: LAN7800
    mue0: Ethernet address xx:xx:xx:xx:xx:xx
    ukphy0 at mue0 phy 1: OUI 0x00800f, model 0x0013, rev. 2
    ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
    ...
    % scp somewhere:random.128m .
    random.128m                         100%  128MB  12.4MB/s  14.1MB/s   00:10
    % scp random.128m somewhere:
    random.128m                         100%  128MB   9.1MB/s   9.3MB/s   00:14

Basically, the driver works fine. However, if the media type is set to
something other than 1000baseT-FDX, data transmission becomes quite
unstable. Also, ukphy(4) mistakenly recognize 1000baseT as a supported
media type, although the adapters do not support it. I suspect that
MII of the adapters has bugs...

I thank ryo@ for letting me know how to obtain MAC address from
bcmmbox(4).

I'd like to commit it in this weekend if there's no objection.

Thanks,
rin


Home | Main Index | Thread Index | Old Index