franciskchiu
Posts: 2
Joined: Tue Apr 30, 2019 8:31 pm

RaspPi Compute Module & Microchips LAN9514

Tue Apr 30, 2019 8:57 pm

Hello,

My RaspPi Compute Module is connected to Microchips LAN9514 through Pin 165 and Pin 167 on the SODIMM connector.
I need to disable LAN9514 Fast Ethernet auto-negotiation and set it at Full-Duplex.

This configuration is required for transformerless ethernet communication between Microchips LAN9514 and KSZ9896C (ethernet switch chip).

Does anybody has the experience doing this by modifying RaspPi CM image and Linux kernel? Please advice.


Thanks
Francis

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2222
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: RaspPi Compute Module & Microchips LAN9514

Wed May 01, 2019 8:51 am

ethtool (sudo apt-get install ethtool) gives you control over the PHY and speed negotiation. Something like "sudo ethtool -s eth0 speed 100 duplex full" should do the trick. You could run this from /etc/rc.local, or add/extend a systemd service to do it for you.

franciskchiu
Posts: 2
Joined: Tue Apr 30, 2019 8:31 pm

Re: RaspPi Compute Module & Microchips LAN9514

Fri May 03, 2019 8:31 pm

I have four Raspberry Pi Compute Module on the board, each one of them is hardwired to a Microchips LAN9514 chip.
Since each LAN9514 is using transformerless ethernet to communicate with a switch port at Microchips KSZ9896C, I need to disable
LAN9514 auto-negotiation, set the speed at 100Mbps, set Full-duplex.
Ethtool can do the job, however, this is an embedded system design, I need to get everything done in the CM image so when the system
power up, every register bits will be set accordingly.
In the meantime, I need to know the correct steps to incorporate these in building the CM image. I believe this also relates to the entry point of Linux kernel when running CM image boot loader
So far it has been unsuccessful attempts even though running ethtool shows the correct configurations can be achieved.
Can I have a more detailed step by step instructions?


Thanks
Francis

Return to “Compute Module”