Ethernet card not working

Hi,

I have a new laptop with a Killer 1435 wireless card and it seems this is a Qualcomm 6174 wireless adapter. The ethernet card is also Qualcomm but it isn’t working on Linux.

I tried to find a firmware or something, but I can’t even seem to find a hardware type or something. I thought the ath10k_pci driver would work for this card but it only seems to be loaded for the wireless card.

hwinfo --netcard gives:

24: PCI 3c00.0: 0200 Ethernet controller                        
  [Created at pci.378]
  Unique ID: Hy9f.S4nwvRViShC
  Parent ID: QSNP.HwIKcIiqfVD
  SysFS ID: /devices/pci0000:00/0000:00:1c.4/0000:3c:00.0
  SysFS BusID: 0000:3c:00.0
  Hardware Class: network
  Model: "Qualcomm Atheros Ethernet controller"
  Vendor: pci 0x1969 "Qualcomm Atheros"
  Device: pci 0xe0b1 
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x0774 
  Revision: 0x10
  Memory Range: 0xdd400000-0xdd43ffff (rw,non-prefetchable)
  I/O Ports: 0xd000-0xdfff (rw)
  IRQ: 255 (no events)
  Module Alias: "pci:v00001969d0000E0B1sv00001028sd00000774bc02sc00i00"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #17 (PCI bridge)

25: PCI 3d00.0: 0282 WLAN controller
  [Created at pci.378]
  Unique ID: y9sn.Jw5XE2Z_aN5
  Parent ID: HnsE.oKF45tpXBuD
  SysFS ID: /devices/pci0000:00/0000:00:1c.5/0000:3d:00.0
  SysFS BusID: 0000:3d:00.0
  Hardware Class: network
  Model: "Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter"
  Vendor: pci 0x168c "Qualcomm Atheros"
  Device: pci 0x003e "QCA6174 802.11ac Wireless Network Adapter"
  SubVendor: pci 0x1a56 "Bigfoot Networks, Inc."
  SubDevice: pci 0x1435 
  Revision: 0x32
  Driver: "ath10k_pci"
  Driver Modules: "ath10k_pci"
  Device File: wlan0
  Features: WLAN
  Memory Range: 0xdd200000-0xdd3fffff (rw,non-prefetchable)
  IRQ: 127 (no events)
  HW Address: 9c:b6:d0:63:26:01
  Permanent HW Address: 9c:b6:d0:63:26:01
  Link detected: yes
  WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13 36 40 44 48 52 56 60 64 100 104 108 112 116 120 124 128 132 136 140
  WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472 5.18 5.2 5.22 5.24 5.26 5.28 5.3 5.32 5.5 5.52 5.54 5.56 5.58 5.6 5.62 5.64 5.66 5.68 5.7
  WLAN encryption modes: WEP40 WEP104 TKIP CCMP
  WLAN authentication modes: open sharedkey wpa-psk wpa-eap
  Module Alias: "pci:v0000168Cd0000003Esv00001A56sd00001435bc02sc80i00"
  Driver Info #0:
    Driver Status: ath10k_pci is active
    Driver Activation Cmd: "modprobe ath10k_pci"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #18 (PCI bridge)

Any ideas?

Am Mon, 05 Jun 2017 12:16:01 GMT
schrieb Ricochet <Ricochet@no-mx.forums.microfocus.com>:

>
> Code:
> --------------------
> 24: PCI 3c00.0: 0200 Ethernet controller
> [Created at pci.378]
> Unique ID: Hy9f.S4nwvRViShC
> Parent ID: QSNP.HwIKcIiqfVD
> SysFS ID: /devices/pci0000:00/0000:00:1c.4/0000:3c:00.0
> SysFS BusID: 0000:3c:00.0
> Hardware Class: network
> Model: “Qualcomm Atheros Ethernet controller”
> Vendor: pci 0x1969 “Qualcomm Atheros”
> Device: pci 0xe0b1
> SubVendor: pci 0x1028 “Dell”
> SubDevice: pci 0x0774
> Revision: 0x10
> Memory Range: 0xdd400000-0xdd43ffff (rw,non-prefetchable)
> I/O Ports: 0xd000-0xdfff (rw)
> IRQ: 255 (no events)
> Module Alias: “pci:v00001969d0000E0B1sv00001028sd00000774bc02sc00i00”
> Config Status: cfg=no, avail=yes, need=no, active=unknown
> Attached to: #17 (PCI bridge)

  1. Post the output of

uname -a

  1. Try this (as root!)

ip a s

modprobe -v alx

echo “1969 e0b1” > /sys/module/alx/drivers/pci:alx/new_id

ip a s

Is there now an entry for the card (eth0 or sth. alike?)

AK


Never attribute to malice that which can be adequately explained by stupidity.
(R.J. Hanlon)

uname -a

Linux echelon 4.4.62-18.6-default #1 SMP Fri Apr 21 16:14:48 UTC 2017 (84f9824) x86_64 x86_64 x86_64 GNU/Linux

ip a s

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 9c:b6:d0:63:26:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.88.95/24 brd 192.168.88.255 scope global dynamic wlan0
valid_lft 498sec preferred_lft 498sec
inet6 fe80::9eb6:d0ff:fe63:2601/64 scope link
valid_lft forever preferred_lft forever

modprobe -v alx

insmod /lib/modules/4.4.62-18.6-default/kernel/drivers/net/mdio.ko
insmod /lib/modules/4.4.62-18.6-default/kernel/drivers/net/ethernet/atheros/alx/alx.ko

echo “1969 e0b1” > /sys/module/alx/drivers/pci:alx/new_id

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 9c:b6:d0:63:26:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.88.95/24 brd 192.168.88.255 scope global dynamic wlan0
valid_lft 425sec preferred_lft 425sec
inet6 fe80::9eb6:d0ff:fe63:2601/64 scope link
valid_lft forever preferred_lft forever
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether d4:81:d7:ce:bd:c9 brd ff:ff:ff:ff:ff:ff

So… WTF just happened? :cool:

And thanks you very much btw!

Am Mon, 05 Jun 2017 13:56:01 GMT
schrieb Ricochet <Ricochet@no-mx.forums.microfocus.com>:

>
> So… WTF just happened? :cool:
>
>

Well, quite simply you told the kernel “Hey, this device ID works with the alx
driver, so bind it to that driver”.

As the kernel of Leap 42.2 (4.4.x) does not know about that, you had to
do it manually in two steps, first load the driver and then assign the ID to it.

The ID was added in 4.10 or 4.11 IIRC, but after looking at the respective
commit on git.kernel.org, I was quite optimistic this little hack might work an
4.4.x.

Problem:

This is only temporary, at least yet, so you would have to make this change
persistent in two (and a half!?) rather simple steps.

Step 1)

Create (as root) a file called

/etc/modprobe.d/50-my_alx.conf

with the following content:

install alx /sbin/modprobe --ignore-install alx ; /usr/bin/echo “1969 e0b1” > /sys/module/alx/drivers/pci:alx/new_id

Now test if the modprobe entry works as expected (again, as root)

modprobe -rv alx

ip a s

eth0 should be gone now

modprobe -v alx

ip a s

eth0 should now be back (as the echo command introducing the new ID has now been run “automacigally”)

If that works, proceed to

Step 2)

Create a file (as root, of course)

/etc/modules-load.d/50-my_alx.conf

with the following content:

alx

This will load the module alx on boot, the conf file in /etc/modprobe.d will apply the little “bind the alx driver
to this ID”-trick and your device should work normally. To test that, reboot and see if eth0 is now available.

AK


Never attribute to malice that which can be adequately explained by stupidity.
(R.J. Hanlon)