Sziasztok. Van egy lenovo t460p laptopom, benne egy 00.1F.6 Intel I219-LM hálókártya, ami az e1000e kernel modult kéri. Egyáltalkán nem működik. Arch linux fut (6.1.2-zen1-1-zen), de más live distrokkal is próbáltam régi és új kernelekkel, és ugyanaz a jelenség.
[root@t460p ~]# dmesg |grep e1000e
[ 17.764435] e1000e: Intel(R) PRO/1000 Network Driver
[ 17.764437] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 17.764626] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 18.319061] e1000e: probe of 0000:00:1f.6 failed with error -2
Próbáltam telepíteni az AUR-ból az e1000e-dkms csomagot, de az elszáll telepítéskor.
Sikerült valakinek ugyanezt életre keltenie linux alatt?
Köszönöm.
- 770 megtekintés
Hozzászólások
Szia!
Az a baj, hogy a e1000_probe driver függvény sok hibakódot láthat. Ki kéne deríteni, mikor -2. Anélkül, hogy újra kéne fordítani a kernelt és printk-zni, bpftrace-el lehetne próbálgatni különböző offsetekre (e1000_probe+0x20, +0x40 stb. akár bináris kereséssel a függvény eleje és vége között) valami debug print üzenetet berakni. Ha megvan az offset, hol tér vissza a -2-vel, akkor meg egy addr2line-al (linux-source vagy hasonló package-el gondolom le tudod szedni a jelenlegi kerneled source-át) meg kéne nézni az melyik sornak felel meg. Lehet már a PCIe probe után rögtön elhasal, fene tudja.
- A hozzászóláshoz be kell jelentkezni
köszönöm szépen, de azt hiszem ebben a válaszban túl sok a számomra ismeretlen. Elkezdem kibogozni :)
- A hozzászóláshoz be kell jelentkezni
Amit eddig találtam:
drivers/net/ethernet/intel/e1000e/defines.h: #define E1000_ERR_PHY 2
és "return -E1000_ERR_PHY" 22 helyen történik...
- A hozzászóláshoz be kell jelentkezni
Találtam egy hibajegyet ami hasonlít a te problémádra, a rossz hír hogy nincs lezárva.
A jegy szerint 4.19-es kernellel még megy.
- A hozzászóláshoz be kell jelentkezni
A legtöbb helyen azt írják, hogy töltsd le egy friss (a linux kernel verzióhoz illeszkedő) verziót a driverből és fordítsd le magad:
- https://askubuntu.com/questions/1067564/intel-ethernet-i219-lm-driver-i…
- https://unix.stackexchange.com/questions/634156/ethernet-controller-i21…
Egy próbát megérhet.
- A hozzászóláshoz be kell jelentkezni
nekem ez sem sikerült
make[2]: *** [scripts/Makefile.build:250: /root/e1000e-3.8.4/src/netdev.o] Error 1
make[1]: *** [Makefile:1990: /root/e1000e-3.8.4/src] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.1.2-zen1-1-zen/build'
make: *** [Makefile:73: default] Error 2
- A hozzászóláshoz be kell jelentkezni
Sokat tud segiteni az is, ha bemasolod a hibat, mert igy csak tippelni tudunk. En peldaul, most arra tippelek, hogy azert nem fordul, mert direkt letoroltel minden masodik .c allomanyt.
- A hozzászóláshoz be kell jelentkezni
Nekem 5.15.80 alatt sem fordul már. Ha jól látom más struktúrát feltételez mint ami a kernelben van.
make[1]: Entering directory '/usr/src/linux-5.15.80-gentoo'
CC [M] /tmp/e1000e-3.8.4/src/netdev.o
In file included from /tmp/e1000e-3.8.4/src/e1000.h:14,
from /tmp/e1000e-3.8.4/src/netdev.c:30:
/tmp/e1000e-3.8.4/src/kcompat.h: In function ‘__kc_xdp_umem_get_data’:
/tmp/e1000e-3.8.4/src/kcompat.h:6696:22: error: ‘struct xdp_umem’ has no member named ‘pages’; did you mean ‘pgs’?
6696 | return umem->pages[addr >> PAGE_SHIFT].addr + (addr & (PAGE_SIZE - 1));
| ^~~~~
| pgs
/tmp/e1000e-3.8.4/src/kcompat.h: In function ‘__kc_xdp_umem_get_dma’:
/tmp/e1000e-3.8.4/src/kcompat.h:6704:22: error: ‘struct xdp_umem’ has no member named ‘pages’; did you mean ‘pgs’?
6704 | return umem->pages[addr >> PAGE_SHIFT].dma + (addr & (PAGE_SIZE - 1));
| ^~~~~
| pgs
/tmp/e1000e-3.8.4/src/netdev.c: In function ‘e1000_configure_rx’:
/tmp/e1000e-3.8.4/src/netdev.c:3714:17: error: implicit declaration of function ‘pm_qos_update_request’; did you mean ‘freq_qos_update_request’? [-Werror=implicit-function-declaration]
3714 | pm_qos_update_request(&adapter->pm_qos_req, lat);
| ^~~~~~~~~~~~~~~~~~~~~
| freq_qos_update_request
/tmp/e1000e-3.8.4/src/netdev.c: In function ‘e1000e_open’:
/tmp/e1000e-3.8.4/src/netdev.c:5189:9: error: implicit declaration of function ‘pm_qos_add_request’; did you mean ‘freq_qos_add_request’? [-Werror=implicit-function-declaration]
5189 | pm_qos_add_request(&adapter->pm_qos_req, PM_QOS_CPU_DMA_LATENCY,
| ^~~~~~~~~~~~~~~~~~
| freq_qos_add_request
/tmp/e1000e-3.8.4/src/netdev.c:5189:50: error: ‘PM_QOS_CPU_DMA_LATENCY’ undeclared (first use in this function)
5189 | pm_qos_add_request(&adapter->pm_qos_req, PM_QOS_CPU_DMA_LATENCY,
| ^~~~~~~~~~~~~~~~~~~~~~
/tmp/e1000e-3.8.4/src/netdev.c:5189:50: note: each undeclared identifier is reported only once for each function it appears in
/tmp/e1000e-3.8.4/src/netdev.c:5243:9: error: implicit declaration of function ‘pm_qos_remove_request’; did you mean ‘freq_qos_remove_request’? [-Werror=implicit-function-declaration]
5243 | pm_qos_remove_request(&adapter->pm_qos_req);
| ^~~~~~~~~~~~~~~~~~~~~
| freq_qos_remove_request
/tmp/e1000e-3.8.4/src/netdev.c: In function ‘e1000_io_slot_reset’:
/tmp/e1000e-3.8.4/src/netdev.c:8100:9: error: implicit declaration of function ‘pci_cleanup_aer_uncorrect_error_status’ [-Werror=implicit-function-declaration]
8100 | pci_cleanup_aer_uncorrect_error_status(pdev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/e1000e-3.8.4/src/netdev.c: In function ‘e1000e_set_interrupt_capability’:
/tmp/e1000e-3.8.4/src/netdev.c:2315:35: warning: this statement may fall through [-Wimplicit-fallthrough=]
2315 | adapter->int_mode = E1000E_INT_MODE_MSI;
/tmp/e1000e-3.8.4/src/netdev.c:2317:9: note: here
2317 | case E1000E_INT_MODE_MSI:
| ^~~~
/tmp/e1000e-3.8.4/src/netdev.c: In function ‘e1000e_reset’:
/tmp/e1000e-3.8.4/src/netdev.c:4543:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
4543 | if (adapter->netdev->mtu > ETH_DATA_LEN) {
| ^
/tmp/e1000e-3.8.4/src/netdev.c:4551:9: note: here
4551 | default:
| ^~~~~~~
/tmp/e1000e-3.8.4/src/netdev.c: In function ‘e1000_setup_rctl’:
/tmp/e1000e-3.8.4/src/netdev.c:3566:32: warning: this statement may fall through [-Wimplicit-fallthrough=]
3566 | psrctl |= PAGE_SIZE << E1000_PSRCTL_BSIZE3_SHIFT;
/tmp/e1000e-3.8.4/src/netdev.c:3568:17: note: here
3568 | case 2:
| ^~~~
/tmp/e1000e-3.8.4/src/netdev.c:3569:32: warning: this statement may fall through [-Wimplicit-fallthrough=]
3569 | psrctl |= PAGE_SIZE << E1000_PSRCTL_BSIZE2_SHIFT;
/tmp/e1000e-3.8.4/src/netdev.c:3571:17: note: here
3571 | case 1:
| ^~~~
/tmp/e1000e-3.8.4/src/netdev.c: In function ‘__e1000e_disable_aspm’:
/tmp/e1000e-3.8.4/src/netdev.c:7554:31: warning: this statement may fall through [-Wimplicit-fallthrough=]
7554 | aspm_dis_mask |= PCI_EXP_LNKCTL_ASPM_L0S;
/tmp/e1000e-3.8.4/src/netdev.c:7556:9: note: here
7556 | case PCIE_LINK_STATE_L1:
| ^~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:289: /tmp/e1000e-3.8.4/src/netdev.o] Error 1
make[1]: *** [Makefile:1900: /tmp/e1000e-3.8.4/src] Error 2
make[1]: Leaving directory '/usr/src/linux-5.15.80-gentoo'
make: *** [Makefile:73: default] Error 2
Ha nem tévedek akkor ezt próbálná használni de ebben már nincs pages, csak pgs field/member/hogyhívják ezt C-ben.
struct xdp_umem {
void *addrs;
u64 size;
u32 headroom;
u32 chunk_size;
u32 chunks;
u32 npgs;
struct user_struct *user;
refcount_t users;
u8 flags;
bool zc;
struct page **pgs;
int id;
struct list_head xsk_dma_list;
struct work_struct work;
};
Szóval szerintem, ja, régebbi kernelhez készült eredetileg és azóta senki rá sem nézett/frissítette.
- A hozzászóláshoz be kell jelentkezni
nem töröltem le direkt minden második .c állományt
- A hozzászóláshoz be kell jelentkezni
Régebbi kernellel, például Debian Stretch -féle 4.9-es kernellel sem megy? Egyszer ugyanis én is jártam így i219-es ethernet kontrollerrel. A 4.9 volt esetemben az utolsó kernelverzió, amelyik jól kezelte az i219-et. A következő Debian verzióban levő 4.19-es kernellel már hibásan működött.
Érdekesség: azóta kezembe kerül másik i219 és ott semmi hiba. Ezek szerint az i219-en belül is lehetnek verziók vagy nem tudom az okát.
- A hozzászóláshoz be kell jelentkezni
en a 3ware RAID vezerlovel jartam igy, hogy ujabb kernellel nem mukodott, nekem ez segitett:
https://bugzilla.kernel.org/show_bug.cgi?id=202425
drivers/pci/quirks.c
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_3WARE, 0x1004, quirk_no_ext_tags);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_3WARE, 0x1005, quirk_no_ext_tags);
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
igen ezt próbáltam, egy debian live iso-val. 4.19.0.20. Ugyanaz a -2 hibakód.
- A hozzászóláshoz be kell jelentkezni
Amint írtam, 4.19-cel nekem sem ment már.
- A hozzászóláshoz be kell jelentkezni
ja bocsánat, ezt benéztem. Kipróbálom
- A hozzászóláshoz be kell jelentkezni
4.9.0-13-amd64 (debian stretch) ugyanaz a hiba
- A hozzászóláshoz be kell jelentkezni
Hát akkor ez mélyebb a hiba. Legrosszabb esetben marad a WiFi (alaplapi vagy USB), netán USB-Ethernet cucc.
- A hozzászóláshoz be kell jelentkezni
én is ettől tartok
- A hozzászóláshoz be kell jelentkezni
Egyébként USB-s vackokat szerintem ha teheted kerüld (Wifi az ízlés kérdése) abban az esetben ha végül hálókártyát kellene venni. Használt PCIe kártyák között néznék szét, vagy egy olcsó új kártyát akár (TP-Link TG-3468, benne realtek chip, mainline linux driver támogatással)
- A hozzászóláshoz be kell jelentkezni
laptopba azert nem nagyon tud semmit belerakni, max valami minipcie/m2 slotos cuccot de akkor is problemas lehet a kivezetese.
en meg az osszes realtek chipes szutykot kerulnem, azokkal csak szivni lehet.
- A hozzászóláshoz be kell jelentkezni
Használt PCIe kártyák
Az ugye megvan, hogy a mini PCI express kártyafoglalatban ott van a PCIe busz és jelen van az USB is. A mini PCI express kártyás hálózati eszközök jelentős része az USB vonalat használja ezeken a kártyákon.
36. és 38. érintkező: https://i.stack.imgur.com/oQxmT.png
- A hozzászóláshoz be kell jelentkezni
Bocsi write only komment volt, le sem esett, hogy nem asztali PC-ről hanem laptopról szól a thread.
Egyébként Intel i225-ös (igaz igc driver, nem e1000e) kártyával kapcsolatos driver buggal kapcsolatban nagyon segítőkészek voltak a netdev levlistán, kaptam patch-et is az egyik fejlesztőjétől. Szerintem megpróbálhatsz írni oda, vagy direktbe Tony Nguyennek, ahogy látom ő maintaineli ezeket.
- A hozzászóláshoz be kell jelentkezni
igen, van egy USB-s r8139 -em, most azt használom.
- A hozzászóláshoz be kell jelentkezni
windoz alatt mukodik? nem lehet siman hw hiba?
- A hozzászóláshoz be kell jelentkezni
win alatt jó
- A hozzászóláshoz be kell jelentkezni
ez annyira alap HW, hogy tuti nem kernel module gond, hanem HW.
pl itt T470-ben ugyanez van, meg sok másban is. minden kernellel problémamentes.
- A hozzászóláshoz be kell jelentkezni
Szia!
BIOS-ba be van kapcsolva minden ami hálókártyával kapcsolatos funkció?
( Lehet le van tiltva valami, ami miatt nem megy a driver )
- A hozzászóláshoz be kell jelentkezni
Szerintem akkor nem menne Win alatt sem. Ettől függetlenül érdemes lehet BIOS-ban szétnézni, piszkálni IOMMU beállításokat vagy ilyesmi.
- A hozzászóláshoz be kell jelentkezni
Régen volt olyan bug, amivel taccsra lehetett tenni e1000e hálókártyát, de úgy látom ez a gép újabb annál, hogy ilyen régi kernelt futtassanak rajta...
https://www.computerworld.com/article/2480678/when-linux-goes-bad--the-…
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Bekapcsoltam a laptopom: T460s - Fedora 37 - kernel 6.0.9 - nálam megy
[ 2.573467] e1000e: Intel(R) PRO/1000 Network Driver
[ 2.573470] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 2.575013] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 2.752279] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock
[ 2.813567] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) c8:5b:76:36:b7:d4
[ 2.813572] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[ 2.813642] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: 1000FF-0FF
[ 3.023658] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection I219-LM (rev 21)
Subsystem: Lenovo Device 2233
Flags: bus master, fast devsel, latency 0, IRQ 127
Memory at f1200000 (32-bit, non-prefetchable) [size=128K]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [e0] PCI Advanced Features
Kernel driver in use: e1000e
Kernel modules: e1000e
- A hozzászóláshoz be kell jelentkezni
Ráadásul ez csont ugyanaz a chip
- A hozzászóláshoz be kell jelentkezni
Lehet a vöröskalaposok mókoltak valami a kernellel, most frissült 6.0.16-ra, azzal sincs gond
- A hozzászóláshoz be kell jelentkezni
Lehet hogy ezen már túl vagy és akkor bocsánat a zajért...
Firmware nem kell ennek a kártyának? Ha kell akkor az fenn van?
dmesg | grep -i firmware
Mit mond? Akinél megy az is meg tudná nézni esetleg?
- A hozzászóláshoz be kell jelentkezni
Valóban ez lenne a lényeg, az linux-firmware csomag fent legyen. Jó lenne, ha tudnánk azt is, hogy az e1000-dkms fordítása konkrétan milyen hibaüzenettel áll le.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni