Skip to main content
This guide covers configuring, operating, and troubleshooting Ethernet connectivity on the Qualcomm Dragonwing IQ-9075 EVK. The platform supports interface enumeration, data path, link speed configuration, MAC address management, MTU configuration, and network diagnostics.

Prerequisites

  • IQ-9075 EVK hardware
  • Ethernet cable (RJ45)
  • Host PC on the same network as the IQ-9075 EVK
  • SSH client software
  • Basic Linux command-line knowledge

Architecture

ComponentDescription
Application Processor Subsystem (APSS)Runs on a Linux-based operating system
Ethernet driverLinux kernel driver providing data connectivity over a wired Ethernet interface
PHY driverLow-level driver managing the Ethernet physical layer; implements a state machine for PHY lifecycle from initialization to link establishment; interacts with MDIO to access PHY registers
Ethernet hardware1× QEP8081 PHY for 10/100/1000/2500 Mbps, enabled by RJ45 connector

Getting Started

Bring Up Ethernet

Establish access to the device via SSH over Wi-Fi or the serial prompt before proceeding. See the Set up the device section for instructions.
Flash the corresponding CDT on the device to ensure the correct configuration is used for Ethernet bring-up.
1

Configure MAC Address (optional)

The IQ-9075 EVK ships with a factory MAC address. Skip this step to use it as-is.To change the MAC address:
sudo ifconfig end0 hw ether XX:XX:XX:YY:YY:YY
This MAC address is valid only for the current boot cycle. After rebooting, the device reverts to the address from persistent storage.
2

Assign an IP Address

On a public network, the DHCP server assigns an IP address automatically. To assign a static IP address manually:
ifconfig end0 192.168.1.2
3

Configure MTU

ifconfig end0 down
ifconfig end0 mtu 1500
ifconfig end0 up
4

Verify Bring-Up

Confirm the following:
  • end0 is visible in ifconfig output
  • Interface status shows UP BROADCAST RUNNING MULTICAST
  • IP address is correctly assigned
  • MTU is set to the desired value (typically 1500)
  • No errors in RX/TX packet counters

Ethernet Operations

Check Connectivity

Use ping to verify connectivity between the device and a remote host. The client IP address must be in the same subnet as the device.
ping 169.254.227.240

Configure NIC Settings

Use ethtool to view and configure NIC parameters such as speed, duplex, and auto-negotiation:
ethtool end0
To view NIC packet statistics:
ethtool -S end0

Configure Network Interface

Use ifconfig to assign addresses and configure interface parameters:
ifconfig end0

Monitor Network Connections

Use netstat to monitor incoming/outgoing connections, routing tables, and port usage:
netstat -r

Capture Network Traffic

Use tcpdump to intercept and analyze packets:
sudo tcpdump -i any -s 0 -w /home/ubuntu/tcpdump.pcap

View Routing Table

ip r s
Set link speed from the supported modes shown in ethtool output:
sudo ethtool -s end0 autoneg on speed 1000 duplex full

Troubleshooting

Collect Diagnostic Logs

1

Collect dmesg logs

sudo dmesg > /home/ubuntu/dmesg_logs.txt
Look for: driver initialization messages, PHY detection, link status changes, and errors.
2

Collect tcpdump logs

sudo tcpdump -i any -s 0 -w /home/ubuntu/tcpdump.pcap
Press Ctrl+C to stop capture.
3

Pull log files to host PC

scp ubuntu@<device_ip>:/home/ubuntu/tcpdump.pcap .
scp ubuntu@<device_ip>:/home/ubuntu/dmesg_logs.txt .
4

Collect diagnostic output

{
  echo "=== ETHTOOL OUTPUT ==="
  ethtool end0
  echo "=== ETHTOOL STATISTICS ==="
  ethtool -S end0
  echo "=== IFCONFIG OUTPUT ==="
  ifconfig end0
  echo "=== NETSTAT OUTPUT ==="
  netstat -r
  echo "=== IP ROUTE OUTPUT ==="
  ip route show
} > /home/ubuntu/ethernet_diagnostics.txt
Then transfer:
scp ubuntu@<device_ip>:/home/ubuntu/ethernet_diagnostics.txt .

Common Issues

Symptoms: Link detected but ping fails; “Destination Host Unreachable” or “Network is unreachable”.Steps:
# Verify IP configuration
ifconfig end0

# Check routing table
ip route show
netstat -r

# Check ARP table
arp -a

# Capture ICMP traffic
sudo tcpdump -i end0 icmp
Solutions: Configure correct IP address and subnet mask; add default gateway if needed (route add default gw <gateway_ip>); verify firewall rules are not blocking ICMP.
Symptoms: High latency, slow file transfers, packet loss.Steps:
# Check link speed and duplex
ethtool end0 | grep -E "Speed|Duplex"

# Check for errors
ethtool -S end0 | grep -E "error|drop|collision"
ifconfig end0 | grep -E "errors|dropped|overruns"

# Check MTU
ifconfig end0 | grep MTU
Solutions: Force 1000 Mbps full-duplex if auto-negotiation fails; replace cable if errors are detected; adjust MTU for specific network requirements.
Symptoms: end0 does not appear in ifconfig output.Steps:
# Show all interfaces including down
ifconfig -a

# Check kernel logs
sudo dmesg | grep -i ethernet
sudo dmesg | grep -i emac
sudo dmesg | grep -i "end0"

# Check device tree
ls /sys/class/net/
Solutions: Ensure correct CDT is flashed; verify Ethernet driver is compiled in kernel; check for hardware initialization errors in dmesg; reboot and check again.
Symptoms: MAC address changes after reboot, random MAC assigned, or MAC conflicts.Steps:
# Check current MAC address
ifconfig end0 | grep ether

# Verify persistent storage
ls /var/persist/
cat /var/persist/config.ini | grep MAC_ID
Solutions: Create or restore /var/persist/config.ini. Format: MDIOBUSID1: 1: MAC_ID01: XX:XX:XX:YY:YY:YY. Back up config.ini before software upgrades.

Advanced Diagnostics

Filter Ethernet-related dmesg messages:
sudo dmesg | grep -iE 'eth|emac|phy|link'
Analyze tcpdump captures:
# Filter by protocol
tcpdump -r /home/ubuntu/tcpdump.pcap icmp
tcpdump -r /home/ubuntu/tcpdump.pcap tcp

# Filter by host
tcpdump -r /home/ubuntu/tcpdump.pcap host 192.168.1.10
For detailed analysis, open the .pcap file in Wireshark on your host PC. Monitor real-time hardware statistics:
watch -n 1 'ethtool -S end0 | head -20'

Command Reference

CommandPurposeExample
dmesgView kernel messagesdmesg | grep eth
ethtool <if>Check link statusethtool end0
ethtool -S <if>View NIC statisticsethtool -S end0
ifconfig <if>Check interface configifconfig end0
ip addr showShow IP addressesip addr show end0
ip route showShow routing tableip route show
ping <host>Test connectivityping 192.168.1.10
tcpdump -i <if>Capture packetstcpdump -i end0
netstat -rShow routesnetstat -r
netstat -iShow interface statsnetstat -i
arp -aShow ARP tablearp -a

Resources