
如標題所示,有沒有一種方法可以使用終端機在 Linux 上停用和重新啟用 PCI 設備或板載設備,就像在 Windows 設備管理員中停用和啟用設備功能一樣。我想每次我的電腦啟動時都這樣做,因為板載乙太網路控制器有問題,導致它停止工作,直到我使用裝置管理員(在Windows 上)停用並重新啟用它,但對於Linux,我必須啟動進入復原模式並啟用網路以使板載乙太網路控制器正常運作。
以下是有關我的 PC 的一些基本技術信息,以防它們可能有用:
PC 型號:Dell Optiplex 7010 迷你塔式第 3 代
Linux 發行版:ubuntu linux 20.04 lts 以 uefi 啟動模式啟動。
乙太網路控制器名稱:Intel(R) 82579LM 千兆位元網路連線(由 Windows 裝置管理員報告)
Dmesg 命令返回“e1000e:設備探測失敗,錯誤 -3”
我嘗試停用和重新啟用 e1000e 模組,但沒有成功,也嘗試轉到 /sys/dev/pci/network/enabled (其中網路是板載乙太網路控制器的 ID)並回顯 0 和 1,但仍然沒有成功。
我也嘗試過重新安裝 Linux 發行版並從原始碼建立驅動程式(來自 Intel 網站的 e1000e 驅動程式),但仍然沒有成功。我也嘗試過谷歌上寫的許多解決方案,但也沒有運氣。
lspci -vv
命令輸出設備資訊如下:
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) (rev 04)
DeviceName: Onboard LAN
Subsystem: Dell 82579LM Gigabit Network Connection (Lewisville)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 27
Region 0: Memory at f7c00000 (32-bit, non-prefetchable) [size=128K]
Region 1: Memory at f7c38000 (32-bit, non-prefetchable) [size=4K]
Region 2: I/O ports at f060 [size=32]
Capabilities: [c8] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee00298 Data: 0000
Capabilities: [e0] PCI Advanced Features
AFCap: TP+ FLR+
AFCtrl: FLR-
AFStatus: TP-
Kernel driver in use: e1000e
Kernel modules: e1000e