Sự cố với thẻ PCIE của bộ điều khiển USB 4x dường như không được cài đặt đúng cách.
Tình huống: Chúng tôi muốn sử dụng camera USB Vision với thẻ bộ điều hợp USB, cung cấp càng nhiều băng thông càng tốt.Vì vậy, chúng tôi đã thử hai loại thẻ khác nhau: ASMedia xy và Renesas uPD720202, nơi thị trường bị ASMedia thống trị và thực sự rất khó để có được một số thẻ Renesas.
Vấn đề: Thẻ ASMedia đang hoạt động một phần. Các thiết bị USB như ổ SSD ngoài có thể sử dụng được (với tốc độ truyền cao), nhưng khi sử dụng máy ảnh, nó sẽ dừng sau một vài khung hình với một số lỗi DMA. Máy ảnh sử dụng chế độ BULK. Tìm kiếm trên Google trong vài giờ cho thấy rằng chip ASMedia dường như có một số lỗi phần sụn hoặc bất cứ thứ gì, vì vậy chúng tôi đã bỏ ý định sử dụng thẻ đó. ASMedia không hoạt động trên bất kỳ PC nào được thử nghiệm kết hợp với máy ảnh).
Thử Thẻ với chip Renesas, nó hoạt động hoàn hảo trên máy tính ThinkCentre nhưng không hoạt động trên phần cứng mục tiêu, Máy chủ Supermicro. Cả hai đều đang sử dụng cùng một hệ điều hành (Ubuntu 18.04, Kernel 5.4.0-97-generic). Máy chủ có nhiều RAM, GPU, v.v.
Đây là liên kết đến ThinkCentre nơi nó đang hoạt động: https://linux-hardware.org/?probe=c945332cad
Đây là liên kết đến Máy chủ (không hoạt động): https://linux-hardware.org/?probe=f0c1c16098
Chúng tôi đã thử rất nhiều thứ trong tự nhiên (từ các lần truy cập ngẫu nhiên trên google khi các sự cố với thẻ renesas đã được giải quyết), như tự động tạm dừng, cập nhật kernel, các phiên bản Ubuntu khác nhau, v.v.. Không có gì hữu ích, vì vậy tôi đã so sánh dmesg của cả hai hệ thống.
Sự khác biệt thực sự duy nhất mà tôi có thể phát hiện ra là một dòng bị thiếu trong quá trình khởi tạo (?) của thẻ. Vui lòng bỏ qua sự thật rằng ThinkCentre đang hiển thị gấp 4 lần bộ điều khiển uPD720202 nhưng máy chủ chỉ hiển thị gấp 3 lần. Đồng nghiệp của tôi nói rằng nó hiển thị 4x trong mỗi lượt chạy, nhưng thật không may, tôi hiện chỉ có nhật ký 3x.
Đây là sự khác biệt tôi có thể nhận ra:
Trong ThinkCentre dmesg có khối này:
[ 0.268577] pci_bus 0000:03: tài nguyên 0 [io 0x2000-0x2fff]
[ 0.268578] pci_bus 0000:03: tài nguyên 1 [mem 0xdf300000-0xdf3fffff]
[ 0.268578] pci_bus 0000:03: tài nguyên 2 [mem 0xd0000000-0xd01fffff 64bit pref]
[ 0.268579] pci_bus 0000:04: tài nguyên 0 [io 0x3000-0x3fff]
[ 0.268580] pci_bus 0000:04: tài nguyên 1 [mem 0xdf200000-0xdf2fffff]
[ 0.268580] pci_bus 0000:04: tài nguyên 2 [mem 0xd0200000-0xd03fffff 64bit pref]
[ 0.268581] pci_bus 0000:05: tài nguyên 0 [io 0x4000-0x4fff]
[ 0.268582] pci_bus 0000:05: tài nguyên 1 [mem 0xdf100000-0xdf1fffff]
[ 0.268582] pci_bus 0000:05: tài nguyên 2 [mem 0xd0400000-0xd05fffff 64bit pref]
[ 0.268583] pci_bus 0000:06: tài nguyên 0 [io 0x5000-0x5fff]
[ 0.268584] pci_bus 0000:06: tài nguyên 1 [mem 0xdf000000-0xdf0fffff]
[ 0.268584] pci_bus 0000:06: tài nguyên 2 [mem 0xd0600000-0xd07fffff 64bit pref]
trong khi ở trên máy chủ, tôi thấy khối này:
[ 10.247535] pci_bus 0000:83: tài nguyên 1 [mem 0xd3600000-0xd36fffff]
[ 10.247538] pci_bus 0000:83: tài nguyên 2 [mem 0x390000000000-0x3900001fffff trước 64 bit]
[ 10.247540] pci_bus 0000:84: tài nguyên 1 [mem 0xd3500000-0xd35fffff]
[ 10.247542] pci_bus 0000:84: tài nguyên 2 [mem 0x390000200000-0x3900003fffff trước 64 bit]
[ 10.247545] pci_bus 0000:85: tài nguyên 1 [mem 0xd3400000-0xd34fffff]
[ 10.247547] pci_bus 0000:85: tài nguyên 2 [mem 0x390000400000-0x3900005fffff trước 64 bit]
[ 10.247550] pci_bus 0000:86: tài nguyên 1 [mem 0xd3300000-0xd33fffff]
[ 10.247552] pci_bus 0000:86: tài nguyên 2 [mem 0x390000600000-0x3900007fffff trước 64 bit]
Bạn có thể thấy rằng có một dòng io cho mỗi tài nguyên bị thiếu trong máy chủ dmesg.
Dòng này dùng để làm gì? những lý do có khả năng cho những dòng bị thiếu là gì? Làm thế nào để gỡ lỗi? Đây thậm chí có phải là gợi ý đúng để giải quyết vấn đề không?
Btw: Các máy ảnh đang hoạt động hoàn hảo trên bất kỳ bộ điều khiển USB nội bộ/gốc nào của máy chủ đó.
Cảm ơn cho bất kỳ sự giúp đỡ/ý tưởng.
Đây là một bài viết trùng lặp của: