FreeBSD 12.1 thấy card QLogic FastLinQ QL41112 SFP+ trên PCI nhưng không gắn driver nào
Mình phụ trách một dàn nhỏ máy FreeBSD và đang thêm 10G vào một trong số đó. Card đã lắp vào, máy boot bình thường, nhưng OS nhất định không tạo interface từ nó.
- Server chạy FreeBSD 12.1-RELEASE-p1, kernel GENERIC gốc
- adapter QLogic FastLinQ QL41112 hai cổng 10GbE SFP+
- quang SFP+ trong cả hai cage, phía switch đã cấu hình và đang chờ
- không có gì tùy chỉnh trong /boot/loader.conf ngoài mặc định
Card nằm trên bus, và dừng lại đúng ở đó, giống hệt nhau cho cả hai function:
pci7: <network, ethernet> at device 0.0 (no driver attached)
Không có interface nào được tạo ra, nên chẳng có gì để cấu hình và cũng không có cách nào đọc trạng thái transceiver cả.
Đã thử những gì:
- cắm lại card sang khe khác, vẫn cùng thông báo
- đổi quang giữa hai cage phòng khi một cái chết
- lục qua ifconfig tìm bất cứ thứ gì không phải lo0 hay NIC onboard
Vì thiết bị PCI rõ ràng đã được liệt kê nên mình đoán đây là vấn đề driver chứ không phải quang, nhưng mình không tìm ra được driver nào phục vụ card này trên bản release này. Mình cần module nào, và có phải tự build lấy không?
Comments 3
Card đó được phục vụ bởi qlnxe(4), và trên bản release này nó không được kéo vào tự động, đó chính xác là lý do bạn chỉ có dòng PCI mà không có gì sau đó. Đưa module vào loader rồi reboot:
trong /boot/loader.conf. Sau khi reboot, kiểm tra theo đúng thứ tự này, đỡ phải đoán mò nhiều:
kldstatchứng minh module thực sự đã được load chứ không chỉ ghi trong file config,dmesggiờ phải mang thông báo attach thay vì no driver attached, vàpciconf -lxác nhận thiết bị vẫn ở đúng chỗ bạn để nó. Một khi interface đã tồn tại thì bạn có thể quay lại lo về quang.Một lưu ý: driver này chỉ bao phủ một tập model FastLinQ cụ thể, nên đọc release notes đi kèm gói driver của vendor cho đúng board của bạn thay vì đoán. Có người dùng card dòng QL41000-series 25GbE load driver này mà vẫn không được gì, đó là lý do chuỗi lệnh ở trên đáng chạy nghiêm túc chứ không phải cho có. Với QL41112 10G trên 12.1 thì đây là fix chuẩn.
Trước tiên, xác định rõ máy thực sự thấy gì. Đăng output của
và xác nhận cái gì đã được load bằng
kldstat. Với kernel GENERIC gốc thì khá có khả năng câu trả lời đơn giản là module cho dòng card đó không được autoload, và một interface bị thiếu chính là trông y như vậy. Chừng nào driver chưa gắn vào thì quang không liên quan gì cả, nên đừng đổi qua đổi lại chúng nữa.Được, hợp lý.
uname -axác nhận 12.1-RELEASE-p1.pciconf -lliệt kê cả hai function với none làm tên thiết bị thay vì tên driver, tức là chưa có gì nhận chúng cả.kldstathiện kernel và vài module thường thấy, không có gì trông giống liên quan đến QLogic. Vậy đúng là trông giống một ca thiếu driver đơn thuần chứ không phải phần cứng chết.