CSS Styles

Tuesday, December 20, 2016

【mPCIe】WiFi+Bluetooth Combo

三姐的陳年桌機突然掛了, 既沒筆電可用, 手頭也不太寬裕, Line 群組迷漫著滿滿的哀怨... 幸運如她, 有位愛拾荒的弟弟, 不巧在某筆電代工廠垃圾堆中, 掃瞄到疑似筆電的一角, 機不可失, 順手一攫, 開啟一場物盡其用, 化腐朽為神奇的的「剩」戰。

那是台 Lenovo IdeaPad Y570 的樣機, 插上記憶體與硬碟可以開機, Windows 7 跑起來也很順, 唯二美中不足的是: 找不到藍芽, 觸控板按鍵無反應! 拜讀 Y570 硬體維護手冊後, 把機子拆開端詳, 藍芽模組沒上, 觸控板無背蓋, 這兩個功能自然沒作用。 觸控板按鍵事小, 安裝 Synaptics 驅動程式, 將觸控板角落指定為按鍵即可迎刃而解; 外接 USB 裝置雖可解決無藍芽之窘, 但是 fu 就是差了一點, 心中遂種下尋求其它方案的種子。

公司曾研發 WiFi 相關產品, 手上有些閒置的 WiFi 卡, 心血來潮稍做稍整理時, 眼前晃過 BT MAC 字樣, 說明了此卡有支援藍芽不是嗎? 這彷彿如來明燈, 為 Y570 升級燃起希望! 興沖沖地換上它, 取代原有的 WiFi 卡, 進入裝置管理員瞧瞧, 無線網卡如料地被找到, 但仍不見藍芽蹤影, 怎麼回事? 有點洩氣, 說好的藍芽呢?

AzureWave 的 AW-NB110H, 基於 Atheros AR5BWB22 (aka AR5B22 或 WB222) 設計, 是張 Wifi 11a/b/g/n + Bluetooth 4.0 combo 無線網卡, 使用 AR9462 單晶片 (SoC), 藍芽走 USB, 難不成 Y570 的 mini PCIe 槽不支援 USB? 幸運地, 網路上可以找到 Y570 原理圖來驗證。 Y570 共有三個 mini PCIe 槽, 其中 TV 專用槽並無上件, SSD 專用槽沒有 USB, WiFi/WiMAX 槽的 pin 36、38 確實有連接到 USB 控制器, 但為何偵測不到藍芽呢?

Y570 WiFi/WiMAX mini PCIe Circuit
Y570 WiFi/WiMAX mini PCIe 原理圖

攤開 AW-NB110H 規格, 發現 pin 5、51 定義為 BT_DISABLE, 若這兩腳任一被拉為低電位, 則藍芽模組會被關閉。 對應 Y570 mini PCIe 的腳位, pin 5 亦為 BT_DISABLE, 合理推測, 藍芽極可能被 Y570 這根腳的信號關閉。 二話不說, 拿膠布貼在無線網卡 pin 5 上, 遮蔽 Y570 對 BT_DISABLE 的控制, 令人雀躍, 藍芽出現了, 感動!

AW-NB110H Pinout
AW-NB110H 腳位表
AW-NB110H BT_DISABLE Pins
AW-NB110H BT_DISABLE 腳位
上述實驗, 說明了 AW-NB110H 的 DISABLE 腳位內部被拉高, 預設值為開啟裝置。 這個方法, 理論上可以應用到其它無線網卡和不同筆電機種上, 考慮相容性, 不妨將 pin 51 也遮蔽。 藍芽雖被強制開啟, 但存在一些缺點: 筆電廠商提供的工具只對原有內建藍芽模組管控, 因此網卡上的藍芽無法透過熱鍵或電源管理來開關, 指示燈也無法正確顯示。 Y570 這個案例中, 使用網卡上之藍芽最佳解法為: 跳線 JP8.5 或 Q94.2 至 JP1.46 (藍芽燈號), 開路 R1320 短路 R1319 (電源開關), 當然用膠帶進行的遮蔽就不再需要了。

Y570 Bluetooth Module Circuit
Y570 內建藍芽模組原理圖

硬體到位, 接下來就是驅動程式, 試了好幾個版本, 總是有兩個藍芽服務裝置無法正確安裝, 傷腦筋。 雖無傷大雅, 但總有瑕疵。 完美能否再次呈現?

詳情請見 AR5B22 (AR9462) Bluetooth Driver 一文。

【Bluetooth】AR5B22/AR9462 Driver

安裝藍芽驅動程式, 理應小事一樁, 下載安裝 vendor 提供的完整包, 驅動程式和軟體堆層 (stack) 就可一次到位, 無奈好事多謀, 這並不適用於 Atheros AR5B22。 嘗試數個版本的安裝包, Windows 7 下的裝置管理員總是找不到二個裝置的驅動程式, 它們的硬體識別碼分別為:

 BTHENUM\{06a7d6e8-753a-4d7a-803d-799430aaa441}_LOCALMFG&0000
 BTHENUM\{e8ad5cb4-fb2b-4a43-8fd7-a28367d00e0a}_LOCALMFG&0000

上網查詢, 前者為「藍芽 VDP 裝置」, VDP 全名為 Video Distribution Profile, 聞名不難聯想其影像串流傳輸的功能, 利用藍芽進行 H.263 編碼影像交換之需求在 PC 上並不常見, 倒是可以利用在視訊投射到穿戴顯示裝置上。

後者為「藍芽 HID 裝置」, 相信看倌們對 HID 耳熟能詳, 人機界面裝置是也。 在藍芽滑鼠、 鍵盤, 甚至低功耗 HID 都已被支援的狀態下, 這個 HID 到底所為何用? 真讓人二丈金剛, 毫無頭緒。 相信是 Atheros 獨有的裝置, 因為沒有其它家藍芽使用這個硬體識別碼之 UUID。

不管是 VDP 或是 Atheros HID, 對一般藍芽使用的影響, 根本沒感覺, 只是在裝置管理員中存在著黃色驚嘆號, 就有如芒刺在背, 十分不悅, 欲除之而後快。 皇天不負, 苦心人如償所願, 經不斷下載、 嘗試、 BSOD,  終於找到內含上述二者驅動 driver only 8.0.1.340 的包, 且與 full package 8.0.1.341 相容, 帥啊!  雖然這兩個包都是網路上找來的, 但著實花了工夫, 於此提供下載連結, 希望能為有相同遭遇的朋友爭取些時間, 少走點冤枉路。

若想安裝較新版的驅動,  full package 的版本最好不要比 driver only 的版本舊, 否則有 BSOD 的疑慮; 再者, 版本的差異也不應過大, 以免有相容性的問題。

藍芽完整包 profile 驅動不足的現象, 非 Atheros 獨有, Broadcom 也不遑多讓, 這兩大廠的軟體品管到底出什麼問題? Broadcom 自 2004 年買下 WidComm 後, 擁藍芽軟體自主權, 實在不該讓使用者徒生此類困擾, 還望未來新版本能加以修正。

Monday, December 19, 2016

【CentOS】Release Information

 cat /etc/centos-release 



 cat /etc/redhat-release 

可取得類似以下資訊

 CentOS Linux release 7.1.1503 (AltArch)