Đang cố gắng biên dịch trình điều khiển ralink (chipset RT5370); tập tin tiêu đề không thành công


0

Tôi đang cố gắng biên dịch trình điều khiển được cung cấp với bộ chuyển đổi wifi USB Ralink 5370 mà tôi đã mua, cho phiên bản LubFi 14.4.1 (phiên bản 32 bit). tôi đang chạy 3.16.0-24-generic nhân.

Tệp tiêu đề đang đưa ra lỗi chuyển đổi loại khi tôi cố gắng biên dịch bằng sudo make theo thủ tục chung đây :

/home/username/wifidriver/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux/../../os/linux/sta_ioctl.c: In function ‘rt_ioctl_giwscan’:
./arch/x86/include/asm/string_32.h:182:25: warning: array subscript is below array bounds [-Warray-bounds]
 #define memcpy(t, f, n) __builtin_memcpy(t, f, n)
                         ^
include/net/iw_handler.h:542:3: note: in expansion of macro ‘memcpy’
   memcpy(stream + point_len, extra, iwe->u.data.length);
   ^
  CC [M]  /home/username/wifidriver/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux/../../os/linux/rt_linux.o
/home/username/wifidriver/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux/../../os/linux/rt_linux.c: In function ‘__RtmpOSFSInfoChange’:
/home/username/wifidriver/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux/../../os/linux/rt_linux.c:1126:20: error: incompatible types when assigning to type ‘int’ from type ‘kuid_t’
   pOSFSInfo->fsuid = current_fsuid();
                    ^
/home/username/wifidriver/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux/../../os/linux/rt_linux.c:1127:20: error: incompatible types when assigning to type ‘int’ from type ‘kgid_t’
   pOSFSInfo->fsgid = current_fsgid();
                    ^
scripts/Makefile.build:257: recipe for target '/home/username/wifidriver/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux/../../os/linux/rt_linux.o' failed
make[2]: *** [/home/username/wifidriver/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux/../../os/linux/rt_linux.o] Error 1
Makefile:1345: recipe for target '_module_/home/username/wifidriver/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux' failed
make[1]: *** [_module_/home/username/wifidriver/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-24-generic'
Makefile:356: recipe for target 'LINUX' failed
make: *** [LINUX] Error 2

Sản lượng có liên quan từ lsusb

Bus 001 Device 002: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

Làm thế nào tôi nên tiếp cận điều này? Lỗi trình biên dịch này có vẻ đủ kỳ lạ để tôi đặt câu hỏi liệu tôi có nên đào sâu vào nó không; tức là nếu thời gian của tôi sẽ tốt hơn dành một số cách khác.


Các vấn đề cụ thể đối với lập trình và phát triển phần mềm không có chủ đề, xem Những chủ đề tôi có thể hỏi về đây? . Hãy thử StackOverflow, nhưng trước tiên hãy đọc Làm thế nào để tôi hỏi một câu hỏi hay? .
DavidPostill

2
@DavidPostill Tôi không nói đây là câu hỏi lập trình. Có, có tham chiếu đến mã và có lỗi xây dựng. Tuy nhiên, nó dường như có liên quan đến việc biên dịch trình điều khiển thiết bị do nhà cung cấp cung cấp, đây là câu hỏi về việc cài đặt phần mềm đã có sẵn.
a CVn

@Escher Bạn có thể nhận được câu trả lời tốt hơn cho điều này trên Unix & amp; Linux hoặc thậm chí Hỏi Ubuntu . Nếu bạn muốn câu hỏi của bạn được di chuyển, "gắn cờ" nó cho sự chú ý của người điều hành và yêu cầu di chuyển; không chỉ đơn giản đăng lại câu hỏi trên một trang web khác trong mạng Stack Exchange.
a CVn

Câu trả lời:


0

Để tham khảo bất cứ ai đang cố gắng giải quyết vấn đề tương tự, câu trả lời đúng là bỏ qua trình điều khiển thiết bị được cung cấp của nhà cung cấp và sử dụng Debian được biên dịch sẵn rt2800usb thay vào đó là tài xế apt-get install firmware-ralink; sudo modprobe rt2800usb;. Rõ ràng trình điều khiển của Ralink đã cần vá để biên dịch nó kể từ Ubuntu 12-ish.

@ Michael Kjorling cảm ơn đã làm rõ. Tôi đã dự định mã đầu ra lỗi chỉ để làm nổi bật tính không khả thi rằng giải pháp đơn giản và tốt nhất là bắt đầu hack với mã trình điều khiển. Không có cách nào tôi có đủ thời gian hoặc kỹ năng trong C để đi sâu vào trình điều khiển phần cứng. Thật không dễ dàng để biết SE sử dụng máy tính - nhận ra lỗi trình điều khiển thiết bị do lỗi trình biên dịch khi được xây dựng trong linux có thể là một trong ba.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.