FreeBSD 12.1 को PCI पर QLogic FastLinQ QL41112 SFP+ card दिखता है पर कोई driver attach नहीं होता
मैं FreeBSD boxes के एक छोटे pool की देखभाल करता हूं और उनमें से एक में 10G जोड़ रहा हूं। card लगाया, machine ठीक से boot होती है, पर OS उसका कोई interface बनाने से मना कर देता है।
- FreeBSD 12.1-RELEASE-p1 पर server, stock GENERIC kernel
- QLogic FastLinQ QL41112 dual-port 10GbE SFP+ adapter
- दोनों cages में SFP+ optics, switch side configured होकर wait कर रहा है
- /boot/loader.conf में defaults के अलावा कुछ भी custom नहीं
card bus पर है, और वहीं रुक जाता है, दोनों functions के लिए एक जैसा:
pci7: <network, ethernet> at device 0.0 (no driver attached)
कोई interface बनता ही नहीं, तो configure करने को कुछ नहीं है और transceiver status पढ़ने का कोई रास्ता ही नहीं।
मैंने पहले ही जो किया:
- card को अलग slot में reseat किया, वही message
- optics को दोनों cages के बीच बदला, कहीं एक dead तो नहीं
- ifconfig में lo0 या onboard NIC से अलग कुछ भी ढूंढा
चूंकि PCI device साफ तौर पर enumerate हो रहा है इसलिए मैं मान रहा हूं कि यह optics की नहीं driver की समस्या है, पर समझ नहीं आ रहा कि इस release पर इस card को कौन सा driver serve करता है। मुझे कौन सा module चाहिए, और क्या इसे खुद build करना पड़ेगा?
Comments 3
उस card को qlnxe(4) serve करता है, और उस release पर यह अपने आप load नहीं होता, इसीलिए तुम्हें PCI वाली line मिलती है और उसके बाद कुछ नहीं। module को loader में डालो और reboot करो:
/boot/loader.conf में। reboot के बाद, इसी क्रम में check करो, इससे काफी अंदाज़ा लगाना बच जाता है:
kldstatसाबित करता है कि module सच में load हुआ है, सिर्फ किसी config file में लिखा भर नहीं है,dmesgमें अब no driver attached की बजाय attach messages आने चाहिए, औरpciconf -lconfirm करता है कि device अब भी वहीं है जहां छोड़ा था। interfaces बन जाएं तो फिर optics की चिंता पर वापस जा सकते हो।एक caveat: driver FastLinQ models के एक खास set को cover करता है, तो मान लेने की बजाय अपने exact board के साथ आने वाले vendor driver package के release notes पढ़ो। किसी के पास 25GbE QL41000-series card था जिसने driver load करने के बाद भी कुछ नहीं दिया, इसीलिए ऊपर वाली sequence को formality की तरह नहीं, ठीक से चलाना समझदारी है। 12.1 पर 10G QL41112 के लिए यह standard fix है।
किसी भी और चीज़ से पहले, पक्का करो कि machine असल में देखती क्या है। यह output पोस्ट करो
और
kldstatसे confirm करो कि क्या load है। stock GENERIC kernel पर काफी संभावना है कि जवाब बस इतना ही है कि उस family का module autoload नहीं होता, और गायब interface ठीक वैसा ही दिखता है। जब तक कोई driver attach न हो, optics से कोई फर्क नहीं पड़ता, तो उन्हें बदलना बंद करो।ठीक बात है।
uname -a12.1-RELEASE-p1 confirm करता है।pciconf -lदोनों functions को driver नाम की बजाय none नाम के साथ list करता है, यानी किसी ने उन्हें claim नहीं किया।kldstatkernel और modules की सामान्य मुट्ठी भर list दिखाता है, कुछ भी QLogic जैसा नहीं। तो यह साफ-सुथरा missing-driver case ही लगता है, dead hardware नहीं।