I'm working on a port of Android LL (based on L5.0.0_1.0.0-ga) on Solidrun Hummingboard, that makes use of Atheros 8035 ethernet controller. While I can ping correctly under u-boot, I am unable to get the link once Android is started.
I get:
fec 2188000.ethernet eth0: Freescale FEC PHY driver [Atheros 8035 ethernet] (mii_bus:phy_addr=2188000.ethernet:00, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
I tried (with selinux permissive mode enabled)
ifconfig eth0 192.168.1.5
It works, but when pinging an existing address I get Destination Host Unreachable. I cannot exclude I misconfigured the interface (I already checked it several times, but I don't see any mistake).
Do you have advices on the steps I could try to understand where the issue comes from?
In boot log I have:
init: process 'dhcpcd_eth0', pid 125 exited
Logcat extract:
E/dhcpcd ( 125): Android requires an interface
E/dhcpcd ( 125): stop_control: No such file or directory
I/EthernetServiceImpl( 379): Creating EthernetConfigStore
I/EthernetServiceImpl( 379): Read stored IP configuration: IP assignment: DHCP
I/EthernetServiceImpl( 379): Proxy settings: NONE
I/EthernetService( 379): Registering service ethernet
I/SystemServer( 379): Connectivity Service
D/ConnectivityService( 379): ConnectivityService starting up
D/ConnectivityService( 379): wifiOnly=false
E/ConnectivityService( 379): Ignoring protectedNetwork 14
E/ConnectivityService( 379): Ignoring protectedNetwork 15
I/SystemServer( 379): Network Service Discovery Service
D/NsdService( 379): Network service discovery enabled true
D/Ethernet( 379): Registering NetworkFactory
D/ConnectivityService( 379): Got NetworkFactory Messenger for Ethernet
D/EthernetNetworkFactory( 379): Started tracking interface eth0
D/Ethernet( 379): got request NetworkRequest [ id=1, legacyType=-1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 0
D/CommandListener( 119): Setting iface cfg
D/CommandListener( 119): Trying to bring up eth0
D/EthernetNetworkFactory( 379): updateInterface: eth0 link down
D/NetworkManagementService( 379): enabling bandwidth control
Output of IP link:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000
link/ether d0:63:00:00:00:00 brd ff:ff:ff:ff:ff:ff
It seems that I am unable to get the link up.
Do you have any advice on what should I check to understand what is not working?
解決済! 解決策の投稿を見る。
Even if we received no answers, it seems that, when the ethernet driver has a reset pin assigned in device tree, it resets the PHY after the phy_fixup functions are called from board mach file, thus the register setup is lost. It seems that the board initialization sequence is wrong. We solved it by relying on phy initialization in u-boot only
It's recommended to add .dts a line that specify explicitly a reset pin. However, I suffer a same issue even if I removed the reset pin from .dts file.
Even if we received no answers, it seems that, when the ethernet driver has a reset pin assigned in device tree, it resets the PHY after the phy_fixup functions are called from board mach file, thus the register setup is lost. It seems that the board initialization sequence is wrong. We solved it by relying on phy initialization in u-boot only