適用於 Mac OS X 10.6(32/64 位元)的 BCM5754/M、BCM5755/M、BCM5787/M、BCM5906/M 網絡卡驅動程式
專為 Mac OS X 10.6.x 打造的 Broadcom BCM5754/M、BCM5755/M、BCM5787/M 及 BCM5906/M(32/64 位元)開源網絡卡驅動程式。擺脫舊版十六進位硬改驅動的限制,直接根據 Broadcom 官方開發指南與 Linux/FreeBSD 驅動架構重新編寫。
- 主筆作者
- @adlan 發表於 2011-02-12
- 所屬專區
- OSx86 10.X 核心架構與安裝配置
- 典藏規模與紀錄
- 273,637 次歷史閱讀 · 112 則精選技術筆記(萃取自 125 則原始回帖) · 2011-02-12 – 2012-08-23
- 參與貢獻成員 (61)
- @adlan (36)@fyooo (7)@Astarael (6)@rals2007 (4)@ludacrisvp (3)@VIVXIX (3)@cephalopod (3)@quinielascom (2)@Dabluest (2)@abiogenesis (2)@tmacyunn (2)@ronin510 (2)@FredWst (2)@majamudo (2)@waldrondigital (2)@righteye (2)+45 more
- 相關硬件參考
- macOS Wi-Fi & BT Adapters ↗ SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗
適用於 10.6.X 的 Broadcom BCM5754/M、BCM5755/M、BCM5787/M、BCM5906/M 網絡卡驅動程式(32/64 位元)
為了解決自己手頭上這張網絡卡(BCM5787M)的驅動問題,我決定親自落手編寫一個全新的驅動程式。雖然坊間已經有透過十六進位編輯(Hex-edited)修改而成的可用驅動,但我認為這並非長遠之計,而且也無法取得原始碼。當然,如果當初有開源版本的話,這個專案大概就不會誕生了。
本驅動程式是根據 Broadcom 開源開發者資源所提供的《BCM5722 程式設計指南》(Programmer's Guide)實作而成,同時亦參考了 Linux(tg3)與 FreeBSD(if_bge)驅動程式的部分底層細節。由於該份技術手冊涵蓋了多款晶片型號,因此我決定將手冊中記載的幾款相近型號一併納入支援。
預計支援以下型號:
- BCM5722
- BCM5754
- BCM5754M
- BCM5755
- BCM5755M
- BCM5787
- BCM5787M #
- BCM5906 #
- BCM5906M #
# - 已實測通過
目前版本尚未實作的功能:
- 網絡喚醒(Wake-on-LAN)
安裝方法
安裝至 /System/Library/Extensions。
你可以手動將核心延伸模組(Kext)複製至 S/L/E 並修復磁碟權限,或者直接使用 KextWizard(k exts.com/view/1068-latest_kext_wizard_from_janek202.html)(kexts.com 鏡像載點)。
問題回報
如發現任何錯誤或異常,請至以下網址回報:https://github.com/adlan/BCM5722D/issues ↗
參與貢獻
原始碼已公開於:https://github.com/adlan/BCM5722D ↗
致謝
- 感謝 Broadcom 公開發佈程式設計指南
- 感謝 Linux(
tg3)與 FreeBSD(if_bge)驅動程式的開發作者群 - 感謝 InsanelyMac 論壇的早期 Beta 測試成員(acero、Hacktrix2006、quadomatic、queshaolangman、Zprood)
免責聲明
本驅動程式並非由 Broadcom 官方支援或背書。萬一喪屍衝入你屋企,或者發生任何意外,本人概不負責。請自行承擔使用風險。
更新紀錄
修正了裝置 ID(Device ID)帶有英文字母的網絡卡(5722、5754、5755、5787)無法被正常偵測的問題。特別感謝 FredWst(osx 86.co/member.php?u=90020393)揪出這個漏洞。
祝使用愉快!
社群實測與技術補充筆記
自 125 則原始討論回帖中萃取 112 則高價值技術回應
Lenovo N500 手提電腦,配備 BCM5906M。運作正常,目前完全沒有發生 Kernel Panic(KP)。
@chinaskyLenovo N500 手提電腦,配備 BCM5906M。運作正常,目前完全沒有發生 Kernel Panic(KP)。
很高興聽到這個好消息!
請問你可以讓它也支援 Broadcom BCM57780(pci14e4,1692)嗎?
多謝,在 BCM5787M 上實測運作良好。
請問有沒有辦法設定讓你的驅動程式不要在系統日誌(System Log)中輸出這麼多訊息?
在我的系統日誌裏有以下內容:
BCM5722D (Build date/time: Feb 11 2011 16:21:32)
BCM5722D (setupDriver:920): MSI index on 1
BCM5722D (resetAdapter:144): 4B657654 to B49A89AB in 2687 iterations
my_name_adlan_BCM5722D: Model: BCM5787M NetLink (TM) Gigabit Ethernet
my_name_adlan_BCM5722D: Loaded successfully
BCM5722D (setPowerState:84): Changing power state from 1 to 0
my_name_adlan_BCM5722D: Ethernet address 00:11:22:33:44:55
BCM5722D (resetAdapter:144): 4B657654 to B49A89AB in 2638 iterations
BCM5722D (setMedium:471): Change medium: kIOMediumEthernetAuto
BCM5722D (setMedium:496): Change medium: kLinkDuplexNegotiate
BCM5722D (configureLinkAdvertisement:364): advertiseFe: 5E1
BCM5722D (configureLinkAdvertisement:365): advertiseGe: 300
BCM5722D (startAutoNegotiation:522): Adv reg: 5E1
@pat98usb請問你可以讓它也支援 Broadcom BCM57780(pci14e4,1692)嗎?
抱歉,恐怕我目前沒辦法做到。我會公開原始碼,有興趣的朋友如果情況許可,可以自己動手試試看。
@quinielascom多謝,在 BCM5787M 上實測運作良好。請問有沒有辦法設定讓你的驅動程式不要在系統日誌(System Log)中輸出這麼多訊息?在我的系統日誌裏有以下內容:BCM5722D (Build date/time: Feb 11 2011 16:21:32) BCM5722D (setupDriver:920): MSI index on 1 BCM5722D (resetAdapter:144): 4B657654 to B49A89AB in 2687 iterations my_name_adlan_BCM5722D: Model: BCM5787M…
目前沒辦法直接設定,不過我稍後會上傳一個精簡日誌(Non-chatty)的版本。
多謝幫忙測試!
你讓我的 5906M 網絡卡成功運作了(甚至在 Lion 下也行)!我激動到說不出話來,從沒想過會有這一天!你太強了!萬分感謝。
Dell XPS M1330
我有一部 Dell XPS M1330,硬體資訊顯示配備的是 5906M 網絡卡,但我嘗試安裝你的驅動程式卻沒有成功:我在「系統偏好設定 / 網絡」裏面看不到任何新的網絡介面。
在 /var/log 裏面,我只在 system.log 找到唯一一處相關紀錄:
com.apple.kextd[10]: BCM5722D.kext has no Info.plist file.
com.apple.kextcache[591]: BCM5722D.kext has no Info.plist file.
請問有甚麼頭緒嗎?
Marco
@webwolf我有一部 Dell XPS M1330,硬體資訊顯示配備的是 5906M 網絡卡,但我嘗試安裝你的驅動程式卻沒有成功:我在「系統偏好設定 / 網絡」裏面看不到任何新的網絡介面。在/var/log裏面,我只在system.log找到唯一一處相關紀錄:com.apple.kextd[10]: BCM5722D.kext has no Info.plist file. com.apple.kextcache[591]:…
從日誌來看,核心延伸模組(Kext)載入失敗是因為找不到 Info.plist 檔案。你能確認一下已安裝的核心延伸模組裏面是否真的缺少了 Info.plist?如果是的話,請試試移除並重新安裝該核心延伸模組,同時也檢查一下你下載回來的壓縮檔是否完整。
在終端機(Terminal)執行:ls /System/Library/Extensions/BCM5722D.kext/Contents
@adlan太好了!喔喔,在 Lion 上也能用?太棒了!喂,你是從哪裏弄到 Lion 的?:-$
某個綠色小惡魔(Demonoid)那裏弄來的。
天啊,我發現這個討論串之後整個人都崩潰了。
因為我原本也在為 BCM5906M 編寫自己的驅動程式!
我從一月開始研讀 5722-PG101-R.pdf 和 if_bge.c,今天才剛搞定不含 Checksum Offloading、Multicast 與電源狀態切換的 RX/TX 收發功能。
現在我完全不知道該怎麼辦,究竟該直接刪掉我還在建置中的 http://code.google.com/p/osx-bcm5906m/ ↗ 專案,還是把驅動程式寫完並上傳過去?但現在看來已經沒有任何意義了
:
@abiogenesis天啊,我發現這個討論串之後整個人都崩潰了。因為我原本也在為 BCM5906M 編寫自己的驅動程式!我從一月開始研讀5722-PG101-R.pdf和if_bge.c,今天才剛搞定不含 Checksum Offloading、Multicast 與電源狀態切換的 RX/TX 收發功能。現在我完全不知道該怎麼辦,究竟該直接刪掉我的……
哎呀,真不好意思,
我最初是為了自己的網絡卡(5787M)開發這個驅動程式的,因為手冊裏也記載了 BCM5906,所以我才順便把這個型號的支援也加了進去。
既然你已經開了頭,千萬不要停下來!把它完成吧,就當作是一次練手,這能為你累積寶貴的開發經驗,未來對你自己和整個社群都會很有幫助。雖然表面看起來好像白費工夫,但決定權在你手上。如果換作是我,我一定會堅持寫完它。
adlan
太棒了!
日誌最好只保留這兩行:
my_name_adlan_BCM5722D: Model: BCM5787M NetLink (TM) Gigabit Ethernet
my_name_adlan_BCM5722D: Ethernet address 00:11:22:33:44:55
這樣乾淨多了。
@rals2007adlan,太棒了!日誌最好只保留這兩行:my_name_adlan_BCM5722D: Model: BCM5787M NetLink (TM) Gigabit Ethernet my_name_adlan_BCM5722D: Ethernet address 00:11:22:33:44:55 這樣乾淨多了。
我已經上傳精簡日誌版(Non-chatty version)了。
多虧了你的原始碼,我修好了自己程式裏的幾個 Bug,同時我發現你的 setMulticastList 函式裏好像也有一個 Bug。
for (i = 0; i < count; i++) { crc = computeCRC32((const UInt8 *) addrs, 6); ... }
根據 5722-PG101-R.pdf,應該要為陣列中的每一個位址計算 CRC,所以這裏應該是 "addrs + i" 或 "&addrs"。
@abiogenesis多虧了你的原始碼,我修好了自己程式裏的幾個 Bug,同時我發現你的setMulticastList函式裏好像也有一個 Bug。根據5722-PG101-R.pdf,應該要為陣列中的每一個位址計算 CRC,所以這裏應該是"addrs + i"或"&addrs"。
我的疏忽,我怎麼會漏掉這個細節!
非常感謝你指出這個問題。
請問有可能為 BCM4357 rev1 開發驅動程式嗎
我有一部配備這張無線網絡卡的 Lenovo G560。
如果有的話就太棒了!
如果沒辦法的話,你會推薦我買哪一款無線網絡卡在 OS X 下使用?
在 Lenovo S12 上成功運作
太讚了!在 Lenovo S12 的有線網絡卡(LAN)BCM5906M 上完美運作!
多謝!
@Medienmensch請問有可能為 BCM4357 rev1 開發驅動程式嗎?我有一部配備這張無線網絡卡的 Lenovo G560。如果有的話就太棒了!如果沒辦法的話,你會推薦我買哪一款無線網絡卡在 OS X 下使用?
就目前而言,我只能說這是不可能的。官方沒有公開任何 API 文件,而且我也不知道該型號是否有任何公開的規格書(Datasheet)、程式設計手冊或開源驅動程式可供參考。
我建議購買外置式 USB 無線網卡,我自己個人是用 D-Link DWA-110。你可以在 OSx86 Project Wiki 的硬體相容性清單(HCL)↗ 找到更多受支援的型號。
多謝、多謝、再多謝!真不敢相信終於有人把這個驅動做出來了!
請繼續保持!
在我的 Lenovo S10e 4086RLG 上運作得非常棒:
@pat98usb請問你可以讓它也支援 Broadcom BCM57780(pci14e4,1692)嗎?
我記得那個應該是 AirPort 無線網卡驅動,因為在那個裝置 ID 下面寫著 airport.kext 之類的字樣。在安裝這個核心延伸模組之前,有線乙太網絡是完全不會顯示出來的;安裝之後,你就會看到兩張網絡卡:airport pci14e4 與有線乙太網絡。
@adlan我已經上傳精簡日誌版(Non-chatty version)了。
還有一件事,拜託,你可以也為 Leopard 10.5.x 編譯一個版本嗎?
嗨 adlan,我在 10.6.7 下遇到一個問題:當我讓手提電腦進入睡眠狀態一小時或更長時間後,驅動程式就會失效,網絡連線中斷。必須使用 kextload 指令先卸載再重新載入,網絡才會恢復正常。
請問這是系統本身的問題嗎?也許我們應該在 10.6.7 環境下重新編譯它?我已經試過修復磁碟權限並重建核心快取。
補充:
我試著在 32 位元 10.6.7 下使用 Xcode 3.2.5 編譯原始碼,結果出現了一些類似這樣的警告訊息:
BCM5722D-18e3e93/BCM5722D.cpp:536: warning: implicit conversion shortens 64-bit value into a 32-bit value
@tmacyunn嗨 adlan,我在 10.6.7 下遇到一個問題:當我讓手提電腦進入睡眠狀態一小時或更長時間後,驅動程式就會失效,網絡連線中斷。必須使用 kextload 指令先卸載再重新載入,網絡才會恢復正常。請問這是系統本身的問題嗎?也許我們應該在 10.6.7 環境下重新編譯它?我已經試過修復磁碟權限並重建核心快取……
我會進一步調查這個問題。你能提供系統從睡眠喚醒後的日誌訊息嗎?
至於編譯時的警告訊息(Warning),你直接忽略即可,因為底層需要將一個 64 位元數值拆分為兩個 32 位元數值,才能寫入硬體暫存器。
日誌如下:
Friday, March 25, 2011 4:49:52 PM Asia/Shanghai
Mar 25 16:49:57 yuns-MacBook-Pro kernel[0]: System Sleep
Mar 25 16:50:17 yuns-MacBook-Pro kernel[0]: Wake reason =
Mar 25 16:50:17 yuns-MacBook-Pro kernel[0]: System Wake
Mar 25 16:50:17 yuns-MacBook-Pro kernel[0]: ApplePS2ALPSGlidePoint: ABMod Waking up Touchpad setting setTapEnable to 1
Mar 25 16:50:17 yuns-MacBook-Pro kernel[0]: USB (EHCI):Port 3 on bus 0xfa connected or disTconnectedhe USB d:ev porticSC(e 0x301US8B Op03ti)
Mar 25 16:50:17 yuns-MacBook-Pro kernel[0]: cal Mouse (Port 1 of Hub at 0x5d000000) may have caused a wake by issuing a remote wakeup (2)
Mar 25 16:50:18 yuns-MacBook-Pro kernel[0]: USBMSC Identifier (non-unique): 20060413092100000 0xbda 0x158 0x5195
而且我注意到從睡眠喚醒時,「系統偏好設定」裏面雖然顯示網絡已連線,但實際上是斷網的。
以下則是你之前發佈的舊版核心延伸模組所輸出的日誌:
Mar 19 22:51:18 yuns-MacBook-Pro kernel[0]: System Sleep
Mar 19 22:51:27 yuns-MacBook-Pro kernel[0]: Wake reason =
Mar 19 22:51:27 yuns-MacBook-Pro kernel[0]: System Wake
Mar 19 22:51:27 yuns-MacBook-Pro kernel[0]: ApplePS2ALPSGlidePoint: ABMod Waking up Touchpad setting setTapEnable to 1
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: USB (EHCI):Port 3 on bus 0xfa connected or disconnected: portSC(0x301803)
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: The USB device USB Optical Mouse (Port 1 of Hub at 0x5d000000) may have caused a wake by issuing a remote wakeup (2)
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: BCM5722D (setPowerState:84): Changing power state from 0 to 1
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: BCM5722D (resetAdapter:144): 4B657654 to B49A89AB in 0 iterations
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: BCM5722D (setMedium:471): Change medium: kIOMediumEthernetAuto
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: BCM5722D (setMedium:496): Change medium: kLinkDuplexNegotiate
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: BCM5722D (configureLinkAdvertisement:364): advertiseFe: 1E1
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: BCM5722D (configureLinkAdvertisement:365): advertiseGe: 0
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: BCM5722D (startAutoNegotiation:522): Adv reg: 1E1
Mar 19 22:51:28 yuns-MacBook-Pro kernel[0]: USBMSC Identifier (non-unique): 20060413092100000 0xbda 0x158 0x5195
Mar 19 22:51:29 yuns-MacBook-Pro kernel[0]: BCM5722D (setupPHY:100): Auxillary status: F53F
Mar 19 22:51:29 yuns-MacBook-Pro kernel[0]: BCM5722D (setupFlowControl:621): flowControl: 0
Mar 19 22:51:29 yuns-MacBook-Pro kernel[0]: my_name_adlan_BCM5722D: Link up: 100 MBps, full duplex. Flow control: disabled
我剛測試了你的核心延伸模組——它讓我的 BCM5787M 成功運作了!而且在「系統描述」(System Profiler)裏面可以看到正確的網絡卡資訊(之前用 10.6.3 修改版 BCM5701 插件時,儘管加了 DSDT 修補程式,它依然只顯示 pci14e4,1693 而非真實名稱)。
不過現在有個問題:載入這個核心延伸模組之後,我的系統變得非常慢。我好不容易才在終端機裏面勉強敲完 sudo kextunload BCM5722D.kext。之前載入十六進位修改版插件時從來沒有出現過這種情況。
大約 5 分鐘後,我再次執行 kextload 指令,系統又變慢了——但這次的負面影響輕微得多,大概只有第一次的十分之一左右。
這會不會跟程式碼最佳化(Code Optimizations)有關?我真的不太清楚。
我衷心祝願這個專案順利成功——畢竟誰知道 10.6.3 的舊版核心延伸模組還能撐多久?搞不好到了 Lion 甚至下一次系統更新就徹底失效了。
祝好,
Astarael
P.S. 抱歉我的英文不太好,還在學習中。
@Astarael我剛測試了你的核心延伸模組——它讓我的 BCM5787M 成功運作了!而且在「系統描述」(System Profiler)裏面可以看到正確的網絡卡資訊(之前用 10.6.3 修改版 BCM5701 插件時,儘管加了 DSDT 修補程式,它依然只顯示 pci14e4,1693 而非真實名稱)。不過現在有個問題:載入這個核心延伸模組之後,我的系統變得非常慢。我……
嗨,
你可以試試這個核心延伸模組嗎?
cl .ly/3e3l2N2t1n242a3O0T0I
然後把日誌發給我?請擷取以 BCM5722D 開頭的那幾行。
P.S. 沒關係,我的英文也是半桶水。
我有一部配備 Broadcom BCM5787M 的 Acer Aspire 2920。
我試著把本帖附件中的「BCM5722D.kext」放進 system\library\extesion,但重新開機後我的有線網絡依然無法運作……。
電腦配置:Acer Aspire 2920(Intel Core 2 Duo,晶片組:Intel 965)
作業系統:Mac OS X 10.6.6i By Hazard
P.S.:我也試過安裝 Mac OS X 10.6.2,但裝上這個核心延伸模組後結果還是一樣,有線網絡無法運作……在系統管理員的乙太網絡卡欄位中甚麼都沒顯示。
P.P.S.:把核心延伸模組放進 Library 目錄後,系統跳出了以下訊息:
無法使用系統延伸功能
系統延伸功能「/System/Library …」安裝不當,因此無法使用。
請嘗試重新安裝……
請問我到底哪裏做錯了?
多謝各位
來自意大利的問候
@Domenic211我有一部配備 Broadcom BCM5787M 的 Acer Aspire 2920。我試著把本帖附件中的「BCM5722D.kext」放進 System\Library\Extensions,但重新開機後我的有線網絡依然無法運作……。電腦配置:Acer Aspire 2920(Intel Core 2 Duo,晶片組:Intel 965),系統:Mac OS X 10.6.6i By Hazard。P.S.:我也試過安裝 Mac OS X 10.6.2,但……
嗨,
通常會跳出那個錯誤訊息,是因為核心延伸模組的檔案權限不正確。要修正這個問題,你需要修改該核心延伸模組的權限:
你可以執行「磁碟工具程式」(Disk Utility)並點選「修復磁碟權限」,
或者在終端機(Terminal)中執行:
cd /System/Library/Extensions
sudo chmod -R 755 BCM5722D.kext
sudo chown -R 0:0 BCM5722D.kext
更簡單的做法是使用 Kext Helper(k exts.com/downloads.php?do=file&id=250)來安裝(截至我回覆時,其官方主站暫時無法連線,上述連結指向 kexts.com 的下載頁面)。
@adlan你可以試試這個核心延伸模組嗎?cl .ly/3e3l2N2t1n242a3O0T0I 然後把日誌發給我?請擷取以 BCM5722D 開頭的那幾行。P.S. 沒關係,我的英文也是半桶水。
嗨,不好意思拖了這麼久才回覆,我最近實在太忙了。
總之,我把你給我的核心延伸模組放進 /S/L/E,執行了 chmod 與 chown,然後用 kextload 載入。以下是我在「系統監視程式」(Console)中看到的訊息:
11-04-18 18:13:12 sudo[255] astarael : TTY=ttys000 ; PWD=/Users/astarael ; USER=root ; COMMAND=/sbin/kextload /System/Library/Extensions/BCM5722D.kext/
11-04-18 18:13:13 kernel BCM5722D (Build date/time: Mar 25 2011 23:28:49)
11-04-18 18:13:14 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-18 18:13:14 kernel my_name_adlan_BCM5722D: Model: BCM5787M NetLink (TM) Gigabit Ethernet
11-04-18 18:13:14 kernel my_name_adlan_BCM5722D: Loaded successfully
11-04-18 18:13:14 kernel my_name_adlan_BCM5722D: Ethernet address 00:1e:37:24:13:81
11-04-18 18:13:14 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-18 18:13:14 kernel BCM5722D (setMedium:367): Change medium: kIOMediumEthernetAuto
11-04-18 18:13:14 kernel BCM5722D (setMedium:392): Change medium: kLinkDuplexNegotiate
11-04-18 18:13:14 kernel BCM5722D (configureLinkAdvertisement:567): advertiseFe: 5E1
11-04-18 18:13:14 kernel BCM5722D (configureLinkAdvertisement:568): advertiseGe: 300
11-04-18 18:13:14 kernel BCM5722D (startAutoNegotiation:590): Adv reg: 5E1
我不確定這是不是你要看的內容 :-|
P.S. 我不建議在 Snow Leopard 下使用 KextHelper——它運作得不太穩定。你可以改為測試 KextWizard(我就不貼連結了,因為不確定版規是否允許)。
我有一部 HP xw6600 工作站,底板內建 14e4:167b Broadcom 5755 網絡卡。這個核心延伸模組看起來完全沒有發揮任何作用,在 /var/log 下的所有日誌中都找不到任何相關紀錄。
我已經試過分別用 Kext Helper b7 與 Kext Wizard 刪除並重新安裝,也重建了核心延伸模組快取。我試過直接用本帖附件的 zip 檔,也試過自己從原始碼重新編譯,結果毫無分別。我已經用 DPCIManager 確認過裝置 ID 無誤。
實在不知道還能試甚麼方法了?
如果改用網上流傳的那個硬改版 5701 核心延伸模組,它算是「能用」——可以取得 IP 並連上網,但那個硬改版 5701 有嚴重的上傳問題,導致上傳速度慢得離譜甚至經常逾時(Timeout),所以我才會找來這裏。
開機進入系統後,試著在終端機輸入 kextstat | grep BCM,看看有沒有任何輸出結果。如果沒有——那就代表該核心延伸模組根本沒有被載入……
你有試過用 kextload 指令強制載入它嗎?
抱歉回覆晚了,有時候我沒留意到這個討論串有新回覆。
@Astarael嗨,不好意思拖了這麼久才回覆,我最近實在太忙了。總之,我把你給我的核心延伸模組放進/S/L/E,執行了chmod與chown,然後用kextload載入。以下是我在「系統監視程式」(Console)中看到的訊息:11-04-18 18:13:12 sudo[255] astarael : TTY=ttys000 ; PWD=/Users/astarael ; USER=root ; COMMAND=/sbin/kextload…
請問系統變慢的問題還存在嗎?
日誌裏面只有這幾行關於該核心延伸模組的訊息嗎?而且載入之後你的系統就開始變慢了嗎?
P.S. 對啊,Kext Helper 在退出時總是會卡死,必須強制結束,不過因為它還是能完成安裝工作,我就懶得再找其他工具了。無論如何多謝你的建議,我會試試你提到的那款軟件並更新一樓主帖。
@scritchy我有一部 HP xw6600 工作站,底板內建14e4:167bBroadcom 5755 網絡卡。這個核心延伸模組看起來完全沒有發揮任何作用,在/var/log下的所有日誌中都找不到任何相關紀錄。我已經試過分別用 Kext Helper b7 與 Kext Wizard 刪除並重新安裝,也重建了核心延伸模組快取。我試過直接用本帖附件的 zip 檔……
試試照 Astarael 所說的方法,手動載入該核心延伸模組,看看有沒有任何載入失敗的錯誤日誌。只要核心延伸模組有被載入,至少一定會輸出一行建置日期與時間(Build date/time)的訊息。
其實之前也有人回報過一模一樣的情況。我目前仍在調查導致這個問題的原因,但很可能會碰壁。
順帶一問,你安裝的是零售原版(Vanilla)還是整合版(Distro)系統?
我本來不想高興得太早,但現在看起來真的完全正常了……不知何故,
這個核心延伸模組已經載入運作了大約 24 小時,系統變慢的情況再也沒有發生過,至少到目前為止是這樣。
在「系統監視程式」搜尋 BCM 後,我現在看到更多結果了。以下是我載入核心延伸模組以來的全部紀錄:
11-04-18 18:13:12 sudo[255] astarael : TTY=ttys000 ; PWD=/Users/astarael ; USER=root ; COMMAND=/sbin/kextload /System/Library/Extensions/BCM5722D.kext/
11-04-18 18:13:13 kernel BCM5722D (Build date/time: Mar 25 2011 23:28:49)
11-04-18 18:13:14 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-18 18:13:14 kernel my_name_adlan_BCM5722D: Model: BCM5787M NetLink (TM) Gigabit Ethernet
11-04-18 18:13:14 kernel my_name_adlan_BCM5722D: Loaded successfully
11-04-18 18:13:14 kernel my_name_adlan_BCM5722D: Ethernet address 00:1e:37:24:13:81
11-04-18 18:13:14 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-18 18:13:14 kernel BCM5722D (setMedium:367): Change medium: kIOMediumEthernetAuto
11-04-18 18:13:14 kernel BCM5722D (setMedium:392): Change medium: kLinkDuplexNegotiate
11-04-18 18:13:14 kernel BCM5722D (configureLinkAdvertisement:567): advertiseFe: 5E1
11-04-18 18:13:14 kernel BCM5722D (configureLinkAdvertisement:568): advertiseGe: 300
11-04-18 18:13:14 kernel BCM5722D (startAutoNegotiation:590): Adv reg: 5E1
11-04-18 22:04:02 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-18 22:04:02 kernel BCM5722D (setPowerState:84): Changing power state from 1 to 0
11-04-19 06:01:56 kernel BCM5722D (setPowerState:84): Changing power state from 0 to 1
11-04-19 06:01:57 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-19 06:01:57 kernel BCM5722D (setMedium:367): Change medium: kIOMediumEthernetAuto
11-04-19 06:01:57 kernel BCM5722D (setMedium:392): Change medium: kLinkDuplexNegotiate
11-04-19 06:01:57 kernel BCM5722D (configureLinkAdvertisement:567): advertiseFe: 5E1
11-04-19 06:01:57 kernel BCM5722D (configureLinkAdvertisement:568): advertiseGe: 300
11-04-19 06:01:57 kernel BCM5722D (startAutoNegotiation:590): Adv reg: 5E1
11-04-19 14:39:59 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-19 14:39:59 kernel BCM5722D (setPowerState:84): Changing power state from 1 to 0
11-04-19 14:39:59 kernel BCM5722D (setPowerState:84): Changing power state from 0 to 1
11-04-19 14:39:59 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-19 14:39:59 kernel BCM5722D (setMedium:367): Change medium: kIOMediumEthernetAuto
11-04-19 14:39:59 kernel BCM5722D (setMedium:392): Change medium: kLinkDuplexNegotiate
11-04-19 14:39:59 kernel BCM5722D (configureLinkAdvertisement:567): advertiseFe: 5E1
11-04-19 14:39:59 kernel BCM5722D (configureLinkAdvertisement:568): advertiseGe: 300
11-04-19 14:39:59 kernel BCM5722D (startAutoNegotiation:590): Adv reg: 5E1
11-04-19 14:52:49 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-19 14:52:49 kernel BCM5722D (setPowerState:84): Changing power state from 1 to 0
11-04-19 14:53:03 kernel BCM5722D (setPowerState:84): Changing power state from 0 to 1
11-04-19 14:53:03 kernel BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 0 iterations
11-04-19 14:53:03 kernel BCM5722D (setMedium:367): Change medium: kIOMediumEthernetAuto
11-04-19 14:53:03 kernel BCM5722D (setMedium:392): Change medium: kLinkDuplexNegotiate
11-04-19 14:53:03 kernel BCM5722D (configureLinkAdvertisement:567): advertiseFe: 5E1
11-04-19 14:53:03 kernel BCM5722D (configureLinkAdvertisement:568): advertiseGe: 300
11-04-19 14:53:03 kernel BCM5722D (startAutoNegotiation:590): Adv reg: 5E1
P.S. 我平時很少用有線網絡連線,但我之前測試過這個驅動程式,連線完全正常。現在我在 ifconfig 的輸出結果與「系統描述」裏面都能看到網絡控制器,所以我想應該也沒問題。總之,等我復活節放假返屋企後會再做一些實測。
@Astarael我本來不想高興得太早,但現在看起來真的完全正常了……不知何故,這個核心延伸模組已經載入運作了大約 24 小時,系統變慢的情況再也沒有發生過,至少到目前為止是這樣。在「系統監視程式」搜尋 BCM 後,我現在看到更多結果了。以下是我載入核心延伸模組以來的全部紀錄:11-04-18 18:13:12 sudo[255] astarael : TTY=ttys000 ;…
這正是我想聽到的好消息!
..
11-04-19 14:39:59 kernel BCM5722D (setPowerState:84): Changing power state from 1 to 0
11-04-19 14:39:59 kernel BCM5722D (setPowerState:84): Changing power state from 0 to 1
..
11-04-19 14:52:49 kernel BCM5722D (setPowerState:84): Changing power state from 1 to 0
11-04-19 14:53:03 kernel BCM5722D (setPowerState:84): Changing power state from 0 to 1
不過看著這段日誌訊息,我還挺好奇底層到底發生了甚麼事……出現了好幾次突然的電源狀態切換,卻沒有看到任何連線狀態(Link State)的通告訊息。
無論如何,多謝你幫忙測試!
我想這些電源狀態變化是因為我中間用了幾次睡眠功能。所以不用擔心,而且你的核心延伸模組完全不會影響睡眠功能。
我一直在我的 Lenovo S10(配備 BCM5906)上使用你的核心延伸模組,到目前為止運作得非常棒!
在你的「尚未實作功能」清單中列有:
BCM5906/M - Isochronous Send Ring(等時發送環形緩衝區)
我想請問這對我們 BCM5906 用家來說實際上意味著甚麼?我們會因此失去任何常用功能嗎?
另外,我透過有線網絡傳輸資料時的速度約為 6MB/sec,請問其他人的速度表現如何?
@Astarael我想這些電源狀態變化是因為我中間用了幾次睡眠功能。所以不用擔心,而且你的核心延伸模組完全不會影響睡眠功能。
讓我感到好奇的是電源關閉與開啟之間的時間間隔竟然這麼短。
不過既然你使用上沒有遇到任何問題,那我就不去深究這份好奇了。
@ronin510我一直在我的 Lenovo S10(配備 BCM5906)上使用你的核心延伸模組,到目前為止運作得非常棒!在你的「尚未實作功能」清單中列有:BCM5906/M - Isochronous Send Ring(等時發送環形緩衝區)。我想請問這對我們 BCM5906 用家來說實際上意味著甚麼?我們會因此失去任何常用功能嗎?另外,我透過有線網絡傳輸資料時的速度約為 6MB/sec……
嘿,很高興聽到它運作良好!
等時發送環形緩衝區(Isochronous Send Ring)只是發送端的一項效能強化功能,對資料串流(Streaming)很有幫助。不過我在研讀 tg3(Linux)與 if_bge(*BSD)的原始碼時,印象中並沒有看過這項功能的實作(也許是我看漏了,但我相當確定他們也沒實作)。
我不太清楚其他人的傳輸速度是多少,因為沒人貼過測試數據,我也沒有特別過問。不過我自己的確用過 netperf(net perf.org/netperf/)和 iperf(iperf.sourc eforge.net/)之類的工具做過基準測試。總體而言,我可以說它的效能表現與現有驅動程式旗鼓相當,差距微乎其微。如果你想看詳細測試數據,我可以稍後貼出來,不過我得先在硬碟深處翻找一下。
我有一部 Lenovo G530,
安裝這個核心延伸模組後發生了 Kernel Panic(核心崩潰)。
@michalskie我有一部 Lenovo G530,安裝這個核心延伸模組後發生了 Kernel Panic(核心崩潰)。
嗨,抱歉回覆晚了。
請提供以下資訊:
- 你的網絡卡型號
- 作業系統的安裝方式(零售原版 Vanilla 還是 Hazard、iATKOS 等整合版 Distro)
支援 BCM57788
你的核心延伸模組運作得完美無瑕(到目前為止)!
我只是把 BCM57788 的硬體 ID(1691)加進去,就立刻順暢運作了。
目前的吞吐量表現也很不錯。
如果我是你的話,直接把這個 ID 加進你的發佈版裏面,就能一併支援這張卡了。
對了,我的系統是以零售版 DVD 安裝的 OS X Server 10.6 加上 10.6.7 整合更新包(Combo Update)。
@derekj0571你的核心延伸模組運作得完美無瑕(到目前為止)!我只是把 BCM57788 的硬體 ID(1691)加進去,就立刻順暢運作了,目前的吞吐量表現也很不錯。如果我是你的話,直接把這個 ID 加進你的發佈版裏面,就能一併支援這張卡了。對了,我的系統是以零售版 DVD 安裝的 OS X Server 10.6 加上 10.6.7 整合更新包(Combo Update)。
嗨,抱歉這麼晚才回覆,前陣子去渡假了。
太棒了!我原本沒料到這張卡也能直接用。既然運作得這麼完美,我會把它加進支援型號清單中。
多謝幫忙測試!
在 Dell PowerEdge T110(全新的 Intel Xeon 伺服器)上無法運作。
這個核心延伸模組在 14e4:165A 上似乎可以手動載入,但不會自動載入,而且也「看不見」該硬體裝置。lspci 可以識別出這張卡是 BCM5722。
由於核心延伸模組無法掛載到網絡卡上,因此完全沒有網絡功能。
@ludacrisvp在 Dell PowerEdge T110(全新的 Intel Xeon 伺服器)上無法運作。這個核心延伸模組在14e4:165A上似乎可以手動載入,但不會自動載入,而且也「看不見」該硬體裝置。lspci可以識別出這張卡是 BCM5722。由於核心延伸模組無法掛載到網絡卡上,因此完全沒有網絡功能。
我假設你已經試過把 14E4,165A 加進 Info.plist 的 IONameMatch 陣列中了。
儘管這個專案名稱叫 BCM5722D,但我在開發時其實沒有把 BCM5722 列入支援清單,也沒有特別針對它做處理。我會去查閱一下程式設計手冊,看看程式碼是否需要做任何修改才能支援這個型號,並儘快(大概這個週末)把測試版核心延伸模組發給你試試。
Dell Precision T7400
嗨兄弟,我在這部機器上試了你的核心延伸模組,但它甚至完全沒有被載入(放在 S/L/E 下)。
我也試過把核心延伸模組放進 IONetworkingFamily.kext/Contents/PlugIns 裏面,但同樣沒用(IONetworkingFamily 本身有載入)。
系統為 10.6.7 x64。
lspci -nn 顯示為:14e4:167a rev 02
懇請幫忙指點。
我其實差一點就讓它成功運作了。我必須手動設定 MAC 位址,才能讓公司的企業網絡透過 DHCP 分配 IP 給我。結果才剛開始載入網頁就發生 KP(Kernel Panic)!錯誤訊息抱怨與 IONetworking.kext 有關。如果我不去開網頁,大約可以維持 5 分鐘的正常運行時間,然後同樣以相同的錯誤發生 KP。即使我不手動指定 MAC 位址,依然會發生一模一樣的 KP。這是上星期的事了,我最後被搞到不耐煩,乾脆直接去買了一隻 MacBook Air 專用的 Apple USB 轉乙太網絡轉接器。不過等我星期一返公司後,可能會再拿內建網絡卡多測試幾個不同的核心延伸模組。
如果論壇其他地方已經提過這件事請見諒,因為我只關注這個討論串。
自從我上次造訪以來,這裏好像有一些帖子和更新內容消失了。網站是不是從備份還原過?一樓的帖子和核心延伸模組附件又變回舊版了。也許這就是為甚麼你以為自己已經上傳了新版本,但網站卻回溯到了先前的狀態。
@ronin510如果論壇其他地方已經提過這件事請見諒,因為我只關注這個討論串。自從我上次造訪以來,這裏好像有一些帖子和更新內容消失了。網站是不是從備份還原過?一樓的帖子和核心延伸模組附件又變回舊版了。也許這就是為甚麼你以為自己已經上傳了新版本,但網站卻回溯到了先前的狀態……
對啊,我也剛注意到這件事。有些回帖不見了,而且儘管我最近才更新過一樓主帖,內容卻變回了舊版。
@ludacrisvp我其實差一點就讓它成功運作了。我必須手動設定 MAC 位址,才能讓公司的企業網絡透過 DHCP 分配 IP 給我。結果才剛開始載入網頁就發生 KP(Kernel Panic)!錯誤訊息抱怨與 IONetworking.kext 有關。如果我不去開網頁,大約可以維持 5 分鐘的正常運行時間,然後同樣以相同的錯誤發生 KP。如果我不……
老實說我對你遇到的問題毫無頭緒,真的很抱歉。你有試過我最新發給你的那個核心延伸模組嗎?
另外,我剛留意到你簽名檔裏的硬體規格,你是把它安裝在 Leopard(10.5)上嗎?如果不重新編譯並修改 Info.plist,我不確定它能否在 Leopard 上正常運作。
我在我的 system.log 甚至整個 /var/log 目錄下,都看不到任何關於 BCM 的紀錄:
bash-3.2# pwd /var/log bash-3.2# grep BCM * bash-3.2# ls /System/Library/Extensions/BCM5722D.kext/Contents/ Info.plist MacOS Resources bash-3.2#
展開其餘 60 則社群技術筆記完整歷史討論紀錄
adlan
Source is synced with your latest binary release ?
@rals2007adlan,請問公開的原始碼已經跟你的最新二進位發佈版同步了嗎?
是的,我剛剛已經用基於最新 Commit 編譯出來的版本更新了一樓的核心延伸模組附件。
@fyooo我在我的system.log甚至整個/var/log目錄下,都看不到任何關於 BCM 的紀錄。
如果核心延伸模組有成功載入,它至少會輸出一行建置日期與時間。所以這代表該核心延伸模組根本沒有被載入。其實我之前沒機會看到你貼出來的錯誤訊息截圖,你可以再貼一次嗎?
@adlanIf the kext is loaded, it should at least shows a build date/time. So that means the kext isn't loaded. Actually I didn't have the chance to see the image of error message you posted before, can you post it again?
I just tried to load this kext manually in terminal:
bash-3.2# kextload BCM5722D.kext/ /Users/oo/Downloads/BCM5722D.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8). bash-3.2#
@fyooo我剛才試著在終端機手動載入這個核心延伸模組:bash-3.2# kextload BCM5722D.kext/ /Users/oo/Downloads/BCM5722D.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8). bash-3.2#
你必須先修改核心延伸模組的擁有者與權限,否則 kextd 會拒絕載入它:
sudo chown -R root:wheel BCM5722D.kext
sudo chmod -R 755 BCM5722D.kext
@adlanyou need to change the kext ownership/permissions , else kextd will not load the kext. sudo chown -R root:wheel BCM5722D.kext sudo chmod -R 755 BCM5722D.kext
Thanks, adlan
Maybe I should show my NIC information first:
14e4; Broadcom Corporation; 167a; NetXtreme BCM5754 Gigabit Ethernet PCI Express; Network controller; Ethernet controller
So now I change the permission of the kext file:
oos-iMac:Downloads oo$ ls BCM5722D.kext/
Contents
oos-iMac:Downloads oo$ sudo chown -R root:wheel BCM5722D.kext
oos-iMac:Downloads oo$ sudo chmod -R 755 BCM5722D.kext
oos-iMac:Downloads oo$ sudo kextload BCM5722D.kext
It seems nothing happen.
THe log is:
oos-iMac:Downloads oo$ grep BCM /var/log/*
/var/log/system.log:May 18 15:35:29 oos-iMac sudo[155]: oo : TTY=ttys000 ; PWD=/Users/oo/Downloads ; USER=root ; COMMAND=/usr/sbin/chown -R root:wheel BCM5722D.kext
/var/log/system.log:May 18 15:35:40 oos-iMac sudo[156]: oo : TTY=ttys000 ; PWD=/Users/oo/Downloads ; USER=root ; COMMAND=/bin/chmod -R 755 BCM5722D.kext
/var/log/system.log:May 18 15:35:49 oos-iMac sudo[157]: oo : TTY=ttys000 ; PWD=/Users/oo/Downloads ; USER=root ; COMMAND=/sbin/kextload BCM5722D.kext
oos-iMac:Downloads oo$
Thank you all the same:)
fyooo
You fix it where you installed the kexts.
chmod -R 755 /System/Library/Extensions/BCM5722D.kext
chown -R root:wheel /System/Library/Extensions/BCM5722D.kext
touch /System/Library/Extensions
@rals2007fyooo You fix it where you installed the kexts. chmod -R 755 /System/Library/Extensions/BCM5722D.kext chown -R root:wheel /System/Library/Extensions/BCM5722D.kext touch /System/Library/Extensions
I'd tried to use KextHelper to install this kext, but it can not work.
I can't see any information about BCM in system.log
@fyooo我試過用 KextHelper 來安裝這個核心延伸模組,但依然無法運作。我在 system.log 裏面看不到任何關於 BCM 的資訊。
試試用 kextutil 開啟高詳細度(Verbosity)模式來載入它,並把輸出結果貼到這裏:
sudo kextutil -v 4 BCM5722D.kext
@adlantry loading it using kextutil with high verbosity level and put its output here sudo kextutil -v 4 BCM5722D.kext
Thanks, that's what it shows:
oos-iMac:Downloads oo$ sudo kextutil -v 4 BCM5722D.kext
Password:
Kext library architecture set to x86_64.
Kext library recording diagnostics for: validation authentication dependencies warnings.
BCM5722D.kext appears to be loadable (not including linkage for on-disk libraries).
Loading BCM5722D.kext.
Reading load info for all kexts.
Reading loaded kext info from kernel.
Adding /Users/oo/Downloads/BCM5722D.kext to mkext.
/Users/oo/Downloads/BCM5722D.kext added 79552-byte noncompressed executable to mkext.
Created mkext for architecture x86_64 containing 1 kexts.
Loading BCM5722D.kext.
(kernel) Received request from user space to load kext my.name.adlan.BCM5722D.
(kernel) Recorded kext my.name.adlan.BCM5722D as a candidate for inclusion in prelinked kernel.
(kernel) Loading kext my.name.adlan.BCM5722D.
(kernel) Allocated link buffer for kext my.name.adlan.BCM5722D at 0xffffff7f8076f000 (28672 bytes).
(kernel) Kext my.name.adlan.BCM5722D executable loaded; 7 pages at 0xffffff7f8076f000 (load tag 95).
(kernel) Kext my.name.adlan.BCM5722D calling module start function.
(kernel) Kext my.name.adlan.BCM5722D registered class my_name_adlan_BCM5722D.
(kernel) Kext my.name.adlan.BCM5722D has IOService subclass my_name_adlan_BCM5722D; enabling autounload.
(kernel) Kext my.name.adlan.BCM5722D is now started.
(kernel) Kext my.name.adlan.BCM5722D sending 1 personality to the IOCatalogue and starting matching.
(kernel) Kext my.name.adlan.BCM5722D loaded.
Successfully loaded BCM5722D.kext.
BCM5722D.kext successfully loaded (or already loaded).
After that, I checked the system.log file:
oos-iMac:Downloads oo$ grep BCM /var/log/system.log
May 19 19:56:04 oos-iMac sudo[152]: oo : TTY=ttys000 ; PWD=/Users/oo/Downloads ; USER=root ; COMMAND=/usr/bin/kextutil -v 4 BCM5722D.kext
oos-iMac:Downloads oo$
It seems to be success, but I still can't connect to internet.
@fyooo多謝,它顯示的結果如下:... 之後我檢查了 system.log 檔案:oos-iMac:Downloads oo$ grep BCM /var/log/system.log May 19 19:56:04 oos-iMac sudo[152]: oo : TTY=ttys000 ; PWD=/Users/oo/Downloads ; USER=root ; COMMAND=/usr/bin/kextutil -v 4 BCM5722D.kext oos-iMac:Downloads oo$ 看起來似乎成功了,但我依然無法……
你找錯檔案了,核心延伸模組的日誌紀錄會寫在 kernel.log 裏面。
另外,你可以貼一下載入核心延伸模組之後執行 ifconfig 的輸出結果嗎?
@adlanyou searched in the wrong file, the log entry will be in kernel.log can you also post here the output of ifconfig after the kext is loaded?
adlan, thanks:)
Once again
oos-iMac:Downloads oo$ sudo kextutil -v 4 BCM5722D.kext
Password:
Kext library architecture set to x86_64.
Kext library recording diagnostics for: validation authentication dependencies warnings.
BCM5722D.kext appears to be loadable (not including linkage for on-disk libraries).
Loading BCM5722D.kext.
Reading load info for all kexts.
Reading loaded kext info from kernel.
Adding /Users/oo/Downloads/BCM5722D.kext to mkext.
/Users/oo/Downloads/BCM5722D.kext added 79552-byte noncompressed executable to mkext.
Created mkext for architecture x86_64 containing 1 kexts.
Loading BCM5722D.kext.
(kernel) Received request from user space to load kext my.name.adlan.BCM5722D.
(kernel) Recorded kext my.name.adlan.BCM5722D as a candidate for inclusion in prelinked kernel.
(kernel) Loading kext my.name.adlan.BCM5722D.
(kernel) Allocated link buffer for kext my.name.adlan.BCM5722D at 0xffffff7f807a5000 (28672 bytes).
(kernel) Kext my.name.adlan.BCM5722D executable loaded; 7 pages at 0xffffff7f807a5000 (load tag 95).
(kernel) Kext my.name.adlan.BCM5722D calling module start function.
(kernel) Kext my.name.adlan.BCM5722D registered class my_name_adlan_BCM5722D.
(kernel) Kext my.name.adlan.BCM5722D has IOService subclass my_name_adlan_BCM5722D; enabling autounload.
(kernel) Kext my.name.adlan.BCM5722D is now started.
(kernel) Kext my.name.adlan.BCM5722D sending 1 personality to the IOCatalogue and starting matching.
(kernel) Kext my.name.adlan.BCM5722D loaded.
Successfully loaded BCM5722D.kext.
BCM5722D.kext successfully loaded (or already loaded).
And nothing found in kernel.log:
oos-iMac:Downloads oo$ grep BCM /var/log/kernel.log
oos-iMac:Downloads oo$ sudo ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
oos-iMac:Downloads oo$
I use bcm5706,and thanks for your driver,but IPv6 proxy.
I always need to use IPv6 proxy for connecting to internet.
However,I find the driver may has some problem of IPv6 proxy,
which is that the connection of IPv6 proxy becomes disconnected sooner or later.
I can figure out it is not cause by the proxy.
But I found a temper solution that ifconfig the en0 down and up.
@fyoooadlan, thanks:) Once again oos-iMac:Downloads oo$ sudo kextutil -v 4 BCM5722D.kext Password: Kext library architecture set to x86_64. Kext library recording diagnostics for: validation authentication dependencies warnings. BCM5722D.kext appears to be loadable (not including linkage for on-disk libraries). Loading BCM5722D.kext.…
Hi i was having the same trouble with BCM 5754 on dell optiplex 745. 10.6.7 retail install
lspci -nn result:
03:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM5754 Gigabit Ethernet PCI Express [14e4:167a] (rev 02)
I fixe this changing in info.plist of kext this line:
pci14e4,167A -> pci14e4,167a
Deep sleep working
it made some weeks i search, now both i386 and x86_64 working fine.
Fred
@FredWst嗨,我在 Dell OptiPlex 745(10.6.7 零售原版安裝)上的 BCM5754 也遇到了同樣的問題。lspci -nn輸出結果為:03:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM5754 Gigabit Ethernet PCI Express [14e4:167a] (rev 02) 我透過修改核心延伸模組Info.plist中的這一行解決了問題:pci14e4,167A->pci14e4,167a,現在連深度睡眠(Deep Sleep)也正常運作……
嘿,太感謝你了!
我之前真的完全搞不懂是甚麼原因導致那個問題,現在終於被你揪出罪魁禍首了。
這完全是我的疏忽,我徹底漏掉了大小寫的分別;老實說,第一眼看到時我根本沒想到這會造成問題……
……結果還真的是這個原因!我翻查了 XNU 核心原始碼,手動追蹤了核心延伸模組載入過程的函式呼叫。在裝置匹配(Matching)過程中,IONameMatch 陣列中的數值是透過 strncmp 函式進行比對的。由於這個字串比對函式會區分大小寫(Case-sensitive),因此比對 14e4,167a 與 14e4,167A 會傳回失敗結果,導致裝置匹配失敗。
如果手動強制載入,該核心延伸模組雖然會載入記憶體,但因為裝置匹配失敗而不會觸發初始化流程,所以它就只是呆在那裏甚麼都不做。
再次萬分感謝 FredWst!
I've installed Lion on my optiplex 745.
BCM5722 is also working for my BCM 5754.
Fred
Ps: ATI 4350 is also working without green apple and qe/ci enable.
@VIVXIX我平時上網都必須使用 IPv6 代理伺服器(Proxy)。不過我發現這個驅動程式在處理 IPv6 代理時似乎有點問題:IPv6 代理連線過一段時間後遲早會斷線。我可以確定這不是代理伺服器本身的問題,而且我找到了一個暫時的解決方法,就是對en0執行ifconfig down再up。
它在 5706 上也能運作嗎?太棒了!不過出現小問題也是意料中事。
等我有空時會去研究一下。另外,我也希望如果情況許可的話,其他開發者能一起參與貢獻,加入對更多型號的支援。不過鑑於目前專案的文件還很匱乏,我也不敢抱太大期望。
無論如何,多謝你幫忙測試!
@adlanit works on 5706 too? great! problem is expected, though. I'll look at it when I have time. However, I do hope others to contribute to add support for other model if possible. But, since project documentation is currently sparse, I'm not expecting any anyway, thank you for testing!
I am sorry, I make a mistake.It 's bcm5906.,not BCM5706.
:'(:'(:'(:'(:'(
@adlanI really have no idea what's causing that problem and now you found the culprit. my bad, I totally missed that and to be honest, at first look I wouldn't have thought that would cause a problem.. my observation, I may be wrong. .. and indeed it is. I've gone through the xnu source code and manually tracing function calls for the kext…
adlan&FredWst
It works!
The new version works well for BCM5906M in sl 10.6.7
@fyoooadlan&FredWst It works!
Thanks .I think the IPv6 proxy problem posted before just disappear.
The ifconfig en0 down and ifconfig en0 up commons dos't need anymore.
@FredWst我已經在我的 OptiPlex 745 上安裝了 Lion,BCM5722D 驅動程式在我的 BCM5754 上依然運作正常。Fred。P.S.:ATI 4350 顯示卡也能正常運作,沒有出現綠蘋果畫面,而且成功開啟了 QE/CI。
太棒了!
@VIVXIX不好意思,我搞錯型號了,我的卡是 BCM5906,不是 BCM5706。:'(:'(:'(:'(:'(
^_^,沒關係啦兄弟。
@fyoooadlan & FredWst,成功運作了!
@VIVXIX多謝!我之前回報的那個 IPv6 代理斷線問題現在好像直接消失了,再也不需要執行ifconfig en0 down和ifconfig en0 up指令了。
很高興聽到這個好消息!
Broadcom NetXtreme 5761
Hi Adlan... thanks for your work on this, I've been suffering with hex-editing the original 5701 kext trying to get my card working (device ID 1681). I thought on the off-chance I'd try your kext and with an Info.plist addition it picked it up straight away - really impressed!
I just have to sort out the blank MAC address and give it some proper testing.
@cephalopodHi Adlan... thanks for your work on this, I've been suffering with hex-editing the original 5701 kext trying to get my card working (device ID 1681). I thought on the off-chance I'd try your kext and with an Info.plist addition it picked it up straight away - really impressed! I just have to sort out the blank MAC address and give it…
Oddly, on reboot with a link the MAC address is identified but the speed isn't negotiated properly... on first attempt to do anything with the interface/driver it drops the connection permanently, preventing reconfiguration; only resuming use after another reboot. Any ideas Adlan please?
@cephalopod嗨 Adlan……多謝你開發這個專案。我之前為了讓手頭上這張卡(裝置 ID1681)正常運作,一直在受苦受難地用十六進位編輯器硬改原版 5701 核心延伸模組。我抱著姑且一試的心態試了你的核心延伸模組,只在Info.plist加了一行設定,系統就立刻識別出來了——真的令我大開眼界!現在我只需要解決空白 MAC 位址的問題並給它……
@cephalopod奇怪的是,插著網線重新開機後,MAC 位址雖然能正常識別出來,但連線速度卻無法正常自動協商(Auto-negotiate)……只要第一次嘗試對該網絡介面或驅動程式進行任何操作,連線就會永久中斷,且無法重新設定;必須再次重新開機才能恢復使用。Adlan 請問你有任何頭緒嗎?
抱歉這麼晚才回覆,這幾天實在太忙了。
我剛去查閱了 Linux 與 *BSD 的驅動程式原始碼,發現針對這個型號似乎有一些修正檔、額外的初始化步驟以及不同的暫存器數值。也許問題就出在這裏,我會試著把這些改動整合進去,並在這個週末把測試版核心延伸模組發給你試試。
多謝幫忙測試!
work flawlesly with 5754 on Dell optiplex 745
thank's adlan, you rock..
thank god to show me the page 7 & 8 now time to work with GMA3000, hope work soon.
many thank's adlan.
@scritchyI have device 14e4:167b Broadcomm 5755 onboard nic on an hp xw6600 machine. The kext appears to fail to do anything at all. There is no mention of it in any of the logs in var/log i've tried deleting and reinstalling the kext with both kext helper b7 and kext wizard, and rebuilding kext cache. I've tried using the zip file attachee to…
Try this one, it works for my HP xw4400 works with the onboard broadcom 167b. I've tried it with 10.6.2 - 10.6.7
Dell Optiplex 330
Thanks for your driver. Able to install and detect BCM5787 but DHCP wasn't able to grab a valid IP keep geting 169.x.x.x. Even static IP i was not able to connect to Internet.
Any idea what went wrong?
@adlansorry for the lateness, been quite busy for the last few days. anyway I checked the linux and *bsd driver, it seems that, there are some fixes/additional initialization steps/different register value for that model. maybe it has something to do with that, I'll try to include those changes and send you the kext to test this weekend.…
Thanks adlan... appreciate life is hectic - keen to test when you're ready.
Thanks for all the hard work on this one ceph.
Successful install with a BCM5755M on a Dell Precision M4300.
I've got one more thing to test for those, who have problem with loading the kext. I've been recently helping with os x installation on lenovo y530 (or sth like that) and installing the kext was not enough to make BCM5906M ethernet card work. Adding Device (LAN) in DSDT solved the problem (there was no ethernet device at all) and ethernet works fine.
BCM57781 - 14e4:16b1
tried it on Lion with a BCM57781 (14e4:16b1).
Changed the info.plist - driver loads - ifconfig shows en0, link speed is fine, but no packets are sent or received.
Any idea?
Thanks,
Christian
Onboard Broadcom® 5754 Gigabit Ethernet LAN solution 10/100/1000 Ethernet (Dell Optiplex 745 desktop PC) works fine (as of now) on H@ckint0sh OS X Lion 10.7 with your BCM5722D.kext.zip
ethernet:
Type: Ethernet Controller
Bus: PCI
Vendor ID: 0x14e4
Device ID: 0x167a
Subsystem Vendor ID: 0x1028
Subsystem ID: 0x01da
Revision ID: 0x0002
Link Width: x1
BSD name: en1
Kext name: BCM5722D.kext
Location: /System/Library/Extensions/BCM5722D.kext
Version: 1
Indeed the problem with your earlier revision lied in the upper case alphabetical characters in device ID string. They needed to be lower case.
Thanks a million times for your time and effort.
Hey, we used Xcode to compile the kext again using your latest sources. The best we can get now is 100BaseTX Full-Duplex. Using the kext from May it loaded up as half duplex 100BaseTX. It does seem to drop out the connection after a few hours and requires the kext to be unloaded and reloaded. This is on a Dell poweredge T110.
Any ideas on getting 1000BaseT Full duplex working?
I tried forcing the setting but it will either show cable unplugged or it does a self assigned IP and manually setting it does nothing. Now on a side note it doesn't need the MAC address manually set anymore, it is able to pick it up from the hardware.
Another side note... Do you know of any working pci-e GigE LAN cards that will work in osx? As work will buy the card that will work for the machine.
BCM57781 - 14e4,16b1
after having no solution for my onboard nic i decided to give it a try and changed/added my device id to info.plist, like some other here as well .
The result is as follow:
en1: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:25:22:bc:b8:9b
media: <unknown type>
Do you think there is any chance to get this working somehow?
Any help is much appreciated. Many thanks
M
BCM57781 - 14e4,16b1
after some more testing I now get following:
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:25:22:bc:b8:9b
inet6 fe80::225:22ff:febc:b89b%en1 prefixlen 64 scopeid 0x5
inet 169.254.217.110 netmask 0xffff0000 broadcast 169.254.255.255
media: autoselect (1000baseT <half-duplex>)
status: active
of course...it still doesn't work. but why is it different now?
M
Works for Dell Gx745 with BCOM 5754
Thank you! Works on my Dell Gx745 SFF with a BCOM 5754
Vendor Id: 0x14e4
Device Id: 0x167a
Subsystem Vendor Id: 0x1028
Revision Id: 0x0002
Link Width: x1
DELL Optiplex GX620 - BCM5751, Device ID 0x1677
I inserted the 1677 to the kext plist. The driver loads, assigns the correct MAC address, but does not transmit and recieve.
Is there anything else I should do?
Adlan,
Would it be possible to add support for BCM5723? I added the device id (165b) to plist. The kext gets loaded, but when I try to use it I get
serviceRxInterrupt:1036): replaceOrCopyPacket returns 0
and a bunch of messages like
outputPacket:568: 1514 -> 2 segments, 1 free, consumer index: 59
OS X 10.6.8 and Broadcom 5754 (14e4-167a) working 100%
Congratulations! Great job!
Works perfect!
Off topic: I am using a DELL 390 (with this nic and a Quadro NVS 285 do you happen to have any info/link for Quadro NVS 285? It's all I need for a smoothly running hackintosh with DELL 390 and OS X 10.6.8 (upgraded from iATKOS S3 v2 using 10.6.8 Combo Update 1.1)
Latest KEXT
I am very interested in getting the latest kext of BCM5722D, but I have no idea, how compile or make your GIT repository code, you can give me a hand?
thanks for that wonderful work
my lan detected,, but no internet connection or cannot ping to another pc on net,,
i am add in Info.plist
--------
<string>pci14e4.16b5</string>
---------
it's detect my lan,, but cannot get connection,,
I've tried this on my Acer Aspire 2920.
It works!
After 2 weeks I was looking for suitable driver, now works!
Thank you. I love you!
Sleep not working?
Only unload&load kext after sleep to get it work again?
Broadcom Netlink (TM) Gigabit Ethernet / Lion 10.7.2
Driver works on
- Packard Bell LJ65
- Broadcom Netlink (TM) Gigabit Ethernet
- BCM5784M
Lion 10.7.2
- Iatkos L2
Thanks
Dell Precision 390 owner! Happy as can be. Your kext is the only one that works 100%! Thank you x 1000000
I confirm my Ethernet Broadcom 5784M on on my Acer Aspire 5738G Dual core is working as well!
- Broadcom Netlink (TM) Gigabit Ethernet
- BCM5784M
Lion 10.7.2
- Iatkos L2
I'm happy! Great job, man! Thanks! ) )
Gigabit Speeds
Is there any progress on getting this Kext to operate at gigabit speeds... the best I can get is 100baseTX.
It was my cable... the driver works fine at gigabit.
ing great.
Before I say something to you,
did someone say that you are damn good developer who
developer these drivers.. If no one haven't done that then I would
love to say that you ARE ----IING good… Please excuse my language.
This damn thing took me 4 days to find these drivers and after doing
what you have said in this thread, it worked like a CHARM…
I do appreciate from the bottom of my heart that you developed and shared
this with other users. I mean it.
Though I am also a software developer and mostly develop applications
in Microsoft technologies i.e. .Net etc and was keen to start
some software development for iPhone, I just couldn't get the drivers of this damn
LAN.
You are a saviour, once again thank you very much for developing and
sharing this with us… THanks.
Thx adlan,
works great on my lenovo S20 at works
@adlanDisclaimer This driver is neither supported nor endorsed by Broadcom. Zombies may invade your house and I take no responsibility for whatever happens. Use at your own risk
lol, don't worry i've got some plants for these Zombies
Thanks adlan for the great driver.
I get stuck with Broadcom BCM5786 [14e4:169a]
I am not sure what should be edited in your source code, could you please show me how to do it ?
Thank.
Updated:
Luckily, I added [14e4:169a] definition to plist, recompile and install IONetworkingFamily.kext of my friend, and now everything works like charm.
Just want to say thank, adlan, love you!
Your driver work for my Ethernet card, the Broadcom 5752, which on the old guy DELL 490 with some minor fix.
I did 2 minor fix on your kext to support Broadcom 5752:
1. infor.plist. I replace <string>pci14e4,167A</string> with <string>pci14e4,1600</string>
2. BCM5722D. I hex this file, looking for "7A 16" then replace all with "00 16". (flip word anyway).
Finally, I put them inside IONetworking kext which replace the original one. Reinstall this kext. Re-build cache. Re boot. Viola!
No kernal panic, MAC address just there, DHCP ok, even though I haven't plug in network yet.
Which OS I run huh? iAtKos L2 (Lion 10.7.2).
Thank you so much, adlan.
Work like charm for acer aspire 2920. The next i have been looking for..
Thanks a lot for you work on making this driver.
I need a working Kext for the desktop version of this network card: Broadcom BCM5784. (Without the M)
Is there any way to modify this kext for it to work on the non-M version?
I'm on OSX 10.6.8. (AMD)
@chefk0kThanks a lot for you work on making this driver. I need a working Kext for the desktop version of this network card: Broadcom BCM5784. (Without the M) Is there any way to modify this kext for it to work on the non-M version? I'm on OSX 10.6.8. (AMD)
Modifying the .plist is your best bet
Hardware:
Dell PowerEdge T110
2.39 Quad Core Intel Xeon
4GB 1333 DDR3
Nvidia GeForce 7300GT
OS: OS X Lion 10.7
I have a Broadcom Nextreme Gigabit network controller and i tried putting in the BCM5722D.kext using Kextdrop but the internet will not work. I look under the Network setting and none appear. Any suggestions. Thanks for your help. Any more information needed let me know.
Works for Dell Precision T5400 w/Broadcom 5754
Used kextWizard 3.7.10 and installed and rebooted in 1 min.
At first glance, worked perfectly. DHCP, mac address, until…
UPDATE: Networking stops working after awaking from sleep, as others have said. I didn't see that resolved in the thread...did I miss something?
OSX Lion 10.7.4
Dell Precision T5400
(2) Intel X5450 XEON Quad Core CPUs
4 GM RAM
Broadcom 5754
M-Audio Revolution 7.1 (work in progress)
nvidia Quadro FX 4600 (work in progress)
Thank you very much for your hard work in developing this driver!
I have a small problem though, I have a BCM5755 and everything works but the driver crashes after copying lots of data over the LAN (roughly 100GB or 60k packets). Unloading the driver and reloading does not fix it and I have to reboot to get networking back.
Any ideas why this is happening and anything I can try to get it fixed?
Lion 10.7.4
HP xw6600
BCM5755 onboard
Downloaded the source code and made some slight changes + added the BCM5784M 0x1698 device, compiled for ML ...
Still have 6 Semantic Issues and 5 Logic errors in the code but the compilation went fine. It works but after some intense usage, as symbiote187 pointed out, it stops working and the only solution is to reboot.
I am not a coder so ... but i really appreciate your involvement on this and i Thank You!
I have the same device and vendor ID for ethernet as this kext 14e4:1698. But will my ethernet work since my wireless card is unsupported (1510 AGN) ? I am trying to get my ethernet to work on a Dell Studio 1555 running on P8600 CPU and 512 MB ATI mobility 4570. Thanks for anyone's reply.
@ghostanime2001I have the same device and vendor ID for ethernet as this kext 14e4:1698. But will my ethernet work since my wireless card is unsupported (1510 AGN) ? I am trying to get my ethernet to work on a Dell Studio 1555 running on P8600 CPU and 512 MB ATI mobility 4570. Thanks for anyone's reply.
Try this one osx 86.net/downloads.php?do=file&id=3074 if you are using ML
文獻來源與貢獻者溯源名錄(共 61 位具名成員 · 原始討論串 #6946)
| 成員用戶名 | 本卷貢獻角色 | 發帖數 | 活躍時間窗 |
|---|---|---|---|
| @adlan | 主筆作者 | 36 | 2011-02-12 → 2011-06-02 |
| @fyooo | 核心貢獻者 | 7 | 2011-05-17 → 2011-05-23 |
| @Astarael | 核心貢獻者 | 6 | 2011-04-06 → 2011-07-15 |
| @rals2007 | 核心貢獻者 | 4 | 2011-03-14 → 2011-05-19 |
| @ludacrisvp | 核心貢獻者 | 3 | 2011-05-03 → 2011-07-28 |
| @VIVXIX | 核心貢獻者 | 3 | 2011-05-21 → 2011-05-24 |
| @cephalopod | 核心貢獻者 | 3 | 2011-05-27 → 2011-06-22 |
| @quinielascom | 協作成員 | 2 | 2011-02-16 → 2011-03-20 |
| @Dabluest | 協作成員 | 2 | 2011-03-04 → 2011-03-07 |
| @abiogenesis | 協作成員 | 2 | 2011-03-13 → 2011-03-17 |
| @tmacyunn | 協作成員 | 2 | 2011-03-25 |
| @ronin510 | 協作成員 | 2 | 2011-04-19 → 2011-05-15 |
| @FredWst | 協作成員 | 2 | 2011-05-21 → 2011-05-22 |
| @majamudo | 協作成員 | 2 | 2011-08-09 |
| @waldrondigital | 協作成員 | 2 | 2011-11-29 → 2012-01-16 |
| @righteye | 協作成員 | 2 | 2012-08-05 → 2012-08-23 |
| @chinasky | 協作成員 | 1 | 2011-02-15 |
| @pat98usb | 協作成員 | 1 | 2011-02-16 |
| @limiter121 | 協作成員 | 1 | 2011-02-27 |
| @adminio | 協作成員 | 1 | 2011-03-01 |
| @webwolf | 協作成員 | 1 | 2011-03-05 |
| @Medienmensch | 協作成員 | 1 | 2011-03-18 |
| @volgin7 | 協作成員 | 1 | 2011-03-20 |
| @parlae | 協作成員 | 1 | 2011-03-20 |
| @Domenic211 | 協作成員 | 1 | 2011-04-15 |
| @scritchy | 協作成員 | 1 | 2011-04-18 |
| @michalskie | 協作成員 | 1 | 2011-04-25 |
| @derekj0571 | 協作成員 | 1 | 2011-04-30 |
| @anibalin | 協作成員 | 1 | 2011-05-07 |
| @toja | 協作成員 | 1 | 2011-05-20 |
| @ifumi | 協作成員 | 1 | 2011-06-04 |
| @tc2468 | 協作成員 | 1 | 2011-06-09 |
| @fiatitude | 協作成員 | 1 | 2011-06-17 |
| @jpt1105 | 協作成員 | 1 | 2011-06-17 |
| @zoso | 協作成員 | 1 | 2011-06-27 |
| @ce_infmac | 協作成員 | 1 | 2011-07-25 |
| @UserOSX | 協作成員 | 1 | 2011-07-28 |
| @analot | 協作成員 | 1 | 2011-07-28 |
| @PinInCalgary | 協作成員 | 1 | 2011-08-16 |
| @aaronson | 協作成員 | 1 | 2011-08-17 |
| @antikus | 協作成員 | 1 | 2011-08-21 |
| @m4f1050 | 協作成員 | 1 | 2011-08-25 |
| @reysillo | 協作成員 | 1 | 2011-09-12 |
| @niclo43 | 協作成員 | 1 | 2011-09-23 |
| @danybr | 協作成員 | 1 | 2011-10-09 |
| @jahsmurf | 協作成員 | 1 | 2011-10-17 |
| @onelife | 協作成員 | 1 | 2011-10-24 |
| @ocw-inf | 協作成員 | 1 | 2011-11-23 |
| @nveronesi | 協作成員 | 1 | 2012-01-13 |
| @privateprotected | 協作成員 | 1 | 2012-01-22 |
| @cparm | 協作成員 | 1 | 2012-01-26 |
| @h224nh | 協作成員 | 1 | 2012-02-25 |
| @silicman | 協作成員 | 1 | 2012-03-11 |
| @mikegoh | 協作成員 | 1 | 2012-03-29 |
| @chefk0k | 協作成員 | 1 | 2012-04-07 |
| @Unrealized | 協作成員 | 1 | 2012-04-13 |
| @squinn66 | 協作成員 | 1 | 2012-05-15 |
| @lilcheshirecat | 協作成員 | 1 | 2012-05-21 |
| @lilbiscuit | 協作成員 | 1 | 2012-06-04 |
| @symbiote187 | 協作成員 | 1 | 2012-07-15 |
| @ghostanime2001 | 協作成員 | 1 | 2012-08-21 |