請問如何查找驅動程式 [論壇 - Ubuntu硬體支援]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

(1) 2 »


請問如何查找驅動程式
會員一級
註冊日期:
2009/8/12 13:47
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 0
MP : 0 / 0
EXP: 0
離線
請問如何查找驅動程式?

如何在14.04裡查找有沒有 Realtek® 8111G 的驅動程式?

謝謝!

2016/1/9 22:05
應用擴展 工具箱
回覆: 請問如何查找驅動程式
管理員
註冊日期:
2011/3/11 6:32
所屬群組:
討論區管理群
等級: 44
HP : 216 / 1084
MP : 1088 / 24374
EXP: 38
離線
GNU/Linux 作業系統的驅動程式多半由 Linux 作業系統核心提供,您可以到

* Linux Wireless wiki
https://wireless.wiki.kernel.org/
* kernel/git/torvalds/linux.git - Linux kernel source tree
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/

網站查詢關鍵字

以 Realtek® 8111G 為例,查詢後可得知 r8169 驅動於 c558386b836ee97762e12495101c6e373f20e69d 修訂編號之版本提交開始支援 Realtek® 8111G
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c558386b836ee97762e12495101c6e373f20e69d
,根據該修訂版之 Makefile 文件可確定採用 3.6 版以上的 Linux 作業系統核心會有該裝置的驅動程式

Ubuntu 14.04 採用 3.13 版的 Linux 作業系統核心,故應有提供 Realtek® 8111G 的驅動程式
此外根據 r8169 驅動來源程式碼可知它會載入 rtl_nic/rtl8168g-2.fw 韌體資料,查詢 Ubuntu 14.04 提供的 linux-firmware 軟體來源代碼可得知有提供該韌體

2016/1/10 2:56
本篇發表文章以「創用CC BY 3.0 或更新之台灣地區版本」授權條款釋出,如何使用敬請參考
 Creative Commons — 姓名標示 3.0 台灣 — CC BY 3.0 TW
 http://creativecommons.org/licenses/by/3.0/tw/

「你不懂的東西就不要亂講,被懂得人看破手腳就算了,騙不懂的人誤導別人,還要別人把你當成大師,這就真的是說不過去了。」
 by Allen Own
 出處 http://www.plurk.com/p/i4uogm

自由知識創作平台介紹
 https://docs.google.com/document/d/1MGG6lW_0qCgH4U785R-IwSc_INdoBGej1l-JxiA4gPE
如何建立新的自由知識創作平台文件
 https://docs.google.com/document/d/11NdzOW2lGYksfyQIcPMPye5tlmj1J0QTkgPTmQvIvKA
應用擴展 工具箱
回覆: 請問如何查找驅動程式
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 828
MP : 542 / 15901
EXP: 12
離線
V字龍 寫到:
...略...
此外根據 r8169 驅動來源程式碼可知它會載入 rtl_nic/rtl8168g-2.fw 韌體資料,查詢 Ubuntu 14.04 提供的 linux-firmware 軟體來源代碼可得知有提供該韌體


題外話

根據上面這一段給的關鍵字「rtl_nic/rtl8168g-2.fw」

執行下面的指令


$ dpkg -S rtl_nic/rtl8168g-2.fw



顯示


linux-firmware: /lib/firmware/rtl_nic/rtl8168g-2.fw



可以找到兩個訊息

*「rtl_nic/rtl8168g-2.fw」的路徑是在「/lib/firmware/rtl_nic/rtl8168g-2.fw」。
* 「/lib/firmware/rtl_nic/rtl8168g-2.fw」是屬於「linux-firmware」這個套件。

2016/1/10 10:50
應用擴展 工具箱
回覆: 請問如何查找驅動程式
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 828
MP : 542 / 15901
EXP: 12
離線
先聲明一下
我對linux的驅動程式也只初淺的認識,因為通常我裝好系統,
很幸運的,我的機器,當Xubuntu作業系統裝好後,一些驅動程式都有了,
也沒有額外特別的需求,需要使用額外一些硬體,
所以也沒有去折騰驅動程式相關的東西了。

以下會紀錄一些從套件(deb)的角度來探索,因為有點多,所以會分成好幾個回覆,
只是把一些我目前知道的片段概念列出來。

若對「linux的驅動程式」這方面有興趣的人,還盼不吝一起來討論。

關於「linux的驅動程式」的一些概念,
建議可以先看「鳥哥的私房菜 / 第十九章、開機流程、模組管理與 Loader / 19.2 核心與核心模組」。

另外先貼一篇剛發現的文章「Linux DKMS 機制導入筆記」,還沒深究,先貼上來。


2016/1/10 18:43
應用擴展 工具箱
回覆: 請問如何查找驅動程式
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 828
MP : 542 / 15901
EXP: 12
離線
若要查詢「linux」相關的套件目前安裝的情形,

可以執行下面的指令


$ dpkg -l linux*




顯示


Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-====================================-=======================-=======================-=============
ii linux-firmware 1.127.19 all Firmware for Linux kernel drivers
ii linux-generic-lts-vivid 3.19.0.43.28 amd64 Complete Generic Linux kernel and headers
un linux-headers <none> <none> (no description available)
un linux-headers-3.0 <none> <none> (no description available)
un linux-headers-3.19.0-25-generic <none> <none> (no description available)
ii linux-headers-3.19.0-41 3.19.0-41.46~14.04.2 all Header files related to Linux kernel version 3.19.0
ii linux-headers-3.19.0-41-generic 3.19.0-41.46~14.04.2 amd64 Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii linux-headers-3.19.0-42 3.19.0-42.48~14.04.1 all Header files related to Linux kernel version 3.19.0
ii linux-headers-3.19.0-42-generic 3.19.0-42.48~14.04.1 amd64 Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii linux-headers-3.19.0-43 3.19.0-43.49~14.04.1 all Header files related to Linux kernel version 3.19.0
ii linux-headers-3.19.0-43-generic 3.19.0-43.49~14.04.1 amd64 Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii linux-headers-generic-lts-vivid 3.19.0.43.28 amd64 Generic Linux kernel headers
un linux-image <none> <none> (no description available)
un linux-image-3.0 <none> <none> (no description available)
rc linux-image-3.19.0-25-generic 3.19.0-25.26~14.04.1 amd64 Linux kernel image for version 3.19.0 on 64 bit x86 SMP
ii linux-image-3.19.0-41-generic 3.19.0-41.46~14.04.2 amd64 Linux kernel image for version 3.19.0 on 64 bit x86 SMP
ii linux-image-3.19.0-42-generic 3.19.0-42.48~14.04.1 amd64 Linux kernel image for version 3.19.0 on 64 bit x86 SMP
ii linux-image-3.19.0-43-generic 3.19.0-43.49~14.04.1 amd64 Linux kernel image for version 3.19.0 on 64 bit x86 SMP
rc linux-image-extra-3.19.0-25-generic 3.19.0-25.26~14.04.1 amd64 Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
ii linux-image-extra-3.19.0-41-generic 3.19.0-41.46~14.04.2 amd64 Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
ii linux-image-extra-3.19.0-42-generic 3.19.0-42.48~14.04.1 amd64 Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
ii linux-image-extra-3.19.0-43-generic 3.19.0-43.49~14.04.1 amd64 Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
ii linux-image-generic-lts-vivid 3.19.0.43.28 amd64 Generic Linux kernel image
un linux-initramfs-tool <none> <none> (no description available)
un linux-initramfs-tools <none> <none> (no description available)
un linux-kernel-headers <none> <none> (no description available)
un linux-kernel-log-daemon <none> <none> (no description available)
ii linux-libc-dev:amd64 3.13.0-74.118 amd64 Linux Kernel Headers for development
un linux-lts-vivid-tools <none> <none> (no description available)
un linux-restricted-common <none> <none> (no description available)
ii linux-sound-base 1.0.25+dfsg-0ubuntu4 all base package for ALSA and OSS sound systems
un linux32 <none> <none> (no description available)




注意:

我測試的環境是「Xubuntu 14.04 64位元」,
我的認知,理論上應該是「linux-generic-lts-trusty」這個套件。
不過我最近更新,發現會升級到「linux-generic-lts-vivid」這個套件。
我也沒有做任何特別的設定,也沒去深究,所以也不曉得這其中的緣由。

2016/1/10 18:45
應用擴展 工具箱
回覆: 請問如何查找驅動程式
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 828
MP : 542 / 15901
EXP: 12
離線
執行


$ dpkg -L linux-generic-lts-vivid



顯示


/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/linux-generic-lts-vivid
/usr/share/doc/linux-generic-lts-vivid/copyright
/usr/share/doc/linux-generic-lts-vivid/changelog.gz



從上面的顯示看起來「linux-generic-lts-vivid」沒有什麼特別的檔案安裝在系統上,
所以推測應該是個「MetaPackage」,
從這篇「 Ubuntu Community Help Wiki / MetaPackages / Kernel Metapackages」說明應該可以看到是。

所以執行下面的指令來找,會安裝相依的套件


$ apt-cache show linux-generic-lts-vivid | grep Depends:



顯示


Depends: linux-image-generic-lts-vivid (= 3.19.0.43.28), linux-headers-generic-lts-vivid (= 3.19.0.43.28)



所以會安裝下面兩個相依的套件。

* linux-image-generic-lts-vivid
* linux-headers-generic-lts-vivid

2016/1/10 18:48
應用擴展 工具箱
回覆: 請問如何查找驅動程式
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 828
MP : 542 / 15901
EXP: 12
離線
執行



$ dpkg -l linux-image-generic-lts-vivid



顯示


Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-====================================-=======================-=======================-==========
ii linux-image-generic-lts-vivid 3.19.0.43.28 amd64 Generic Linux kernel image



上一個回覆,執行「dpkg -l linux*」,其實有列出這個套件相關的訊息。



執行


$ apt-cache show linux-image-generic-lts-vivid | grep Depends:



顯示


Depends: linux-image-3.19.0-43-generic, linux-image-extra-3.19.0-43-generic, linux-firmware




也就是要安裝「linux-image-generic-lts-vivid」這個套件,就會安裝下面相依的套件。<--不下指令,網頁也可以看到。

* linux-image-3.19.0-43-generic
* linux-image-extra-3.19.0-43-generic
* linux-firmware

2016/1/10 18:50
應用擴展 工具箱
回覆: 請問如何查找驅動程式
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 828
MP : 542 / 15901
EXP: 12
離線

2016/1/10 18:52
應用擴展 工具箱
回覆: 請問如何查找驅動程式
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 828
MP : 542 / 15901
EXP: 12
離線
下載「linux-image-3.19.0-43-generic」這個套件。


$ apt-get download linux-image-3.19.0-43-generic




解開


$ dpkg -x linux-image-3.19.0-43-generic_3.19.0-43.49~14.04.1_amd64.deb linux-image-3.19.0-43-generic



觀看資料夾結構


$ tree linux-image-3.19.0-43-generic



因為檔案很多就不列結果了。

列第一層資料夾


$ ls linux-image-3.19.0-43-generic -1



顯示


boot
lib
usr




若有安裝「linux-image-3.19.0-43-generic」這個套件。
除了上面的方法,也可以執行下面的指令,來了解有安裝什麼檔案在系統上面。


$ dpkg -L linux-image-3.19.0-43-generic



一樣檔案很多,所以就不列出來顯示結果了,請自行動手執行上面的指令觀看。

所以根據這個套論串的例子

可以執行


$ dpkg -L linux-image-3.19.0-43-generic | grep real



顯示


/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek
/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/8139cp.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/8139too.ko
/lib/modules/3.19.0-43-generic/kernel/net/netfilter/xt_realm.ko



或是執行


$ dpkg -L linux-image-3.19.0-43-generic | grep realtek



顯示


/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek
/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/8139cp.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/8139too.ko


2016/1/10 18:54
應用擴展 工具箱
回覆: 請問如何查找驅動程式
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 828
MP : 542 / 15901
EXP: 12
離線
下載「linux-image-extra-3.19.0-43-generic」這個套件。


$ apt-get download linux-image-extra-3.19.0-43-generic




解開


$ dpkg -x linux-image-extra-3.19.0-43-generic_3.19.0-43.49~14.04.1_amd64.deb linux-image-extra-3.19.0-43-generic



觀看資料夾結構


$ tree linux-image-extra-3.19.0-43-generic



因為檔案很多就不列結果了。

列第一層資料夾


$ ls linux-image-extra-3.19.0-43-generic -1



顯示


lib
usr




若有安裝「linux-image-extra-3.19.0-43-generic」這個套件。
除了上面的方法,也可以執行下面的指令,來了解有安裝什麼檔案在系統上面。


$ dpkg -L linux-image-extra-3.19.0-43-generic



一樣檔案很多,所以就不列出來顯示結果了,請自行動手執行上面的指令觀看。


所以根據這個套論串的例子

可以執行


$ dpkg -L linux-image-extra-3.19.0-43-generic | grep real



顯示


/lib/modules/3.19.0-43-generic/kernel/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/media/rc/keymaps/rc-powercolor-real-angel.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek
/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/atp.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/r8169.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/net/phy/realtek.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/usb/storage/ums-realtek.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/hid/hid-aureal.ko
/lib/modules/3.19.0-43-generic/kernel/sound/pci/hda/snd-hda-codec-realtek.ko




或是執行


$ dpkg -L linux-image-extra-3.19.0-43-generic | grep realtek



顯示


/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek
/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/atp.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/r8169.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/net/phy/realtek.ko
/lib/modules/3.19.0-43-generic/kernel/drivers/usb/storage/ums-realtek.ko
/lib/modules/3.19.0-43-generic/kernel/sound/pci/hda/snd-hda-codec-realtek.ko




執行下面的指令,「modinfo」的用法可以參考「 鳥哥的私房菜 / 19.2.2 核心模組的觀察: lsmod, modinfo


$ modinfo /lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/r8169.ko



顯示


filename: /lib/modules/3.19.0-43-generic/kernel/drivers/net/ethernet/realtek/r8169.ko
firmware: rtl_nic/rtl8107e-2.fw
firmware: rtl_nic/rtl8107e-1.fw
firmware: rtl_nic/rtl8168h-2.fw
firmware: rtl_nic/rtl8168h-1.fw
firmware: rtl_nic/rtl8168g-3.fw
firmware: rtl_nic/rtl8168g-2.fw
firmware: rtl_nic/rtl8106e-2.fw
firmware: rtl_nic/rtl8106e-1.fw
firmware: rtl_nic/rtl8411-2.fw
firmware: rtl_nic/rtl8411-1.fw
firmware: rtl_nic/rtl8402-1.fw
firmware: rtl_nic/rtl8168f-2.fw
firmware: rtl_nic/rtl8168f-1.fw
firmware: rtl_nic/rtl8105e-1.fw
firmware: rtl_nic/rtl8168e-3.fw
firmware: rtl_nic/rtl8168e-2.fw
firmware: rtl_nic/rtl8168e-1.fw
firmware: rtl_nic/rtl8168d-2.fw
firmware: rtl_nic/rtl8168d-1.fw
version: 2.3LK-NAPI
license: GPL
description: RealTek RTL-8169 Gigabit Ethernet driver
author: Realtek and the Linux r8169 crew <netdev@vger.kernel.org>
srcversion: 6FB24800592DD42014AAD0E
alias: pci:v00000001d00008168sv*sd00002410bc*sc*i*
alias: pci:v00001737d00001032sv*sd00000024bc*sc*i*
alias: pci:v000016ECd00000116sv*sd*bc*sc*i*
alias: pci:v00001259d0000C107sv*sd*bc*sc*i*
alias: pci:v00001186d00004302sv*sd*bc*sc*i*
alias: pci:v00001186d00004300sv*sd*bc*sc*i*
alias: pci:v00001186d00004300sv00001186sd00004B10bc*sc*i*
alias: pci:v000010ECd00008169sv*sd*bc*sc*i*
alias: pci:v000010ECd00008168sv*sd*bc*sc*i*
alias: pci:v000010ECd00008167sv*sd*bc*sc*i*
alias: pci:v000010ECd00008136sv*sd*bc*sc*i*
alias: pci:v000010ECd00008129sv*sd*bc*sc*i*
depends: mii
intree: Y
vermagic: 3.19.0-43-generic SMP mod_unload modversions
signer: Magrathea: Glacier signing key
sig_key: E0:9B:1E:7E:98:41:E9:CF:EF:25:6B:70:AB:21:05:62:DA:B1:EF:68
sig_hashalgo: sha512
parm: use_dac:Enable PCI DAC. Unsafe on 32 bit PCI slot. (int)
parm: debug:Debug verbosity level (0=none, ..., 16=all) (int)


2016/1/10 18:56
應用擴展 工具箱

(1) 2 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.