load kernel module problem

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=6209

FPeter84

22-04-2012 22:00:38

Hi All!

I have an S3C2416 ARM926 based board, and i would like to connect an SMC WUSBS-N3 adapter ( based on Ralink RT3070 ) to its USB port. I have my own kernel, based on 2.6.39 - i found the " Ralink rt27xx/rt28xx/rt30xx (USB) support " in it's menuconfig. As i see, there is no way to include it in the kernel, it should be loaded as kernel module later. So after the make, i copied all .ko files to my board and i tried to load them with insmod, but i got the following error lines

[code8zcjc4vd]# insmod rt2800usb.ko
rt2800usb: Unknown symbol rt2x00mac_sw_scan_complete (err 0)
rt2800usb: Unknown symbol rt2800_config_shared_key (err 0)
rt2800usb: Unknown symbol rt2x00mac_add_interface (err 0)
rt2800usb: Unknown symbol rt2800_enable_radio (err 0)
rt2800usb: Unknown symbol rt2800_reset_tuner (err 0)
rt2800usb: Unknown symbol rt2x00mac_get_stats (err 0)
rt2800usb: Unknown symbol rt2800_validate_eeprom (err 0)
rt2800usb: Unknown symbol rt2x00lib_txdone_noinfo (err 0)
rt2800usb: Unknown symbol rt2800_link_stats (err 0)
rt2800usb: Unknown symbol rt2x00usb_disable_radio (err 0)
rt2800usb: Unknown symbol rt2800_rfkill_poll (err 0)
rt2800usb: Unknown symbol rt2800_probe_hw_mode (err 0)
rt2800usb: Unknown symbol rt2800_read_eeprom_efuse (err 0)
rt2800usb: Unknown symbol rt2x00mac_set_key (err 0)
rt2800usb: Unknown symbol rt2800_efuse_detect (err 0)
rt2800usb: Unknown symbol rt2800_config_filter (err 0)
rt2800usb: Unknown symbol rt2800_conf_tx (err 0)
rt2800usb: Unknown symbol rt2x00mac_sw_scan_start (err 0)
rt2800usb: Unknown symbol rt2800_check_firmware (err 0)
rt2800usb: Unknown symbol rt2x00usb_vendor_request_buff (err 0)
rt2800usb: Unknown symbol rt2800_mcu_request (err 0)
rt2800usb: Unknown symbol rt2800_init_eeprom (err 0)
rt2800usb: Unknown symbol rt2800_config_pairwise_key (err 0)
rt2800usb: Unknown symbol rt2800_wait_csr_ready (err 0)
rt2800usb: Unknown symbol rt2x00queue_get_entry (err 0)
rt2800usb: Unknown symbol rt2800_clear_beacon (err 0)
rt2800usb: Unknown symbol rt2800_get_tsf (err 0)
rt2800usb: Unknown symbol rt2x00mac_remove_interface (err 0)
rt2800usb: Unknown symbol rt2x00usb_vendor_request (err 0)
rt2800usb: Unknown symbol rt2x00usb_probe (err 0)
rt2800usb: Unknown symbol rt2x00usb_watchdog (err 0)
rt2800usb: Unknown symbol rt2800_load_firmware (err 0)
rt2800usb: Unknown symbol rt2x00mac_config (err 0)
rt2800usb: Unknown symbol rt2x00usb_suspend (err 0)
rt2800usb: Unknown symbol rt2x00usb_clear_entry (err 0)
rt2800usb: Unknown symbol rt2x00mac_start (err 0)
rt2800usb: Unknown symbol rt2x00mac_rfkill_poll (err 0)
rt2800usb: Unknown symbol rt2800_process_rxwi (err 0)
rt2800usb: Unknown symbol rt2x00mac_set_tim (err 0)
rt2800usb: Unknown symbol rt2x00mac_stop (err 0)
rt2800usb: Unknown symbol rt2800_link_tuner (err 0)
rt2800usb: Unknown symbol rt2800_config_intf (err 0)
rt2800usb: Unknown symbol rt2800_set_rts_threshold (err 0)
rt2800usb: Unknown symbol rt2800_wait_wpdma_ready (err 0)
rt2800usb: Unknown symbol rt2x00mac_configure_filter (err 0)
rt2800usb: Unknown symbol rt2x00usb_disconnect (err 0)
rt2800usb: Unknown symbol rt2x00mac_flush (err 0)
rt2800usb: Unknown symbol rt2800_get_tkip_seq (err 0)
rt2800usb: Unknown symbol rt2800_write_tx_data (err 0)
rt2800usb: Unknown symbol rt2800_disable_radio (err 0)
rt2800usb: Unknown symbol rt2800_ampdu_action (err 0)
rt2800usb: Unknown symbol rt2800_config_ant (err 0)
rt2800usb: Unknown symbol rt2x00mac_tx (err 0)
rt2800usb: Unknown symbol rt2800_config (err 0)
rt2800usb: Unknown symbol rt2x00usb_vendor_req_buff_lock (err 0)
rt2800usb: Unknown symbol rt2x00usb_regbusy_read (err 0)
rt2800usb: Unknown symbol rt2x00usb_kick_queue (err 0)
rt2800usb: Unknown symbol rt2800_txdone (err 0)
rt2800usb: Unknown symbol rt2800_write_beacon (err 0)
rt2800usb: Unknown symbol rt2x00usb_resume (err 0)
rt2800usb: Unknown symbol rt2x00usb_uninitialize (err 0)
rt2800usb: Unknown symbol rt2x00usb_initialize (err 0)
rt2800usb: Unknown symbol rt2800_get_survey (err 0)
rt2800usb: Unknown symbol rt2800_config_erp (err 0)
rt2800usb: Unknown symbol rt2x00usb_flush_queue (err 0)
rt2800usb: Unknown symbol rt2x00mac_bss_info_changed (err 0)
insmod: can't insert 'rt2800usb.ko': unknown symbol in module, or unknown parameter[/code8zcjc4vd]
I tried all 4 modules created by make, and i got similar lines as above for all of them

[code8zcjc4vd]rt2800usb.ko
rt2800lib.ko
rt2x00usb.ko
rt2x00lib.ko[/code8zcjc4vd]
Are there any fault in my progress? Or do You have any idea, what should i try next?

Best regards,
Peter

FPeter84

23-04-2012 09:20:33

the problem above were caused by dependency problems. i checked the modules with modinfo, and after then i succesfully loaded them in following sequence>

[code3q9k07nk]crc-ccitt.ko
cfg80211.ko
mac80211.ko
rt2x00lib.ko
rt2800lib.ko
rt2x00usb.ko
rt2800usb.ko[/code3q9k07nk]
now i have a device, called wlan0

[code3q9k07nk]rt2800usb 1-1:1.0: wlan0: Features changed: 0x00004800 -> 0x00004000
usbcore: registered new interface driver rt2800usb

# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on[/code3q9k07nk]
then i defined it with wep as quick test in interfaces

[code3q9k07nk]# vi /etc/network/interfaces
# Configure Loopback
auto lo
iface lo inet loopback

iface wlan0 inet dhcp
wireless-essid ***
wireless-key ***[/code3q9k07nk]
but i got the following for ifup

[code3q9k07nk]# ifup wlan0
phy0 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.[/code3q9k07nk]
and the name of the requested firmware is missing from the message... i found that somebody in this forum got a more detailed message

[code3q9k07nk][ 145.090339] rt73usb 1-1:1.0: firmware: requesting rt73.bin
[ 145.101757] phy1 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.[/code3q9k07nk]
i tried to copy several firmwares to /lib/firmware, but it did not help

[code3q9k07nk]rt2860.bin
rt2x00.bin
rt28xx.bin
rt2800.bin
rt2870.bin
rt3070.bin[/code3q9k07nk]
i found this section in ./drivers/net/wireless/rt2x00/rt2x00firmware.c

[code3q9k07nk]retval = request_firmware(&fw, fw_name, device);
if (retval) {
ERROR(rt2x00dev, "Failed to request Firmware.\n");
return retval;
}[/code3q9k07nk]
how can i modify it to write the fw_name in the message ? i tried several ways, but did not find the proper syntax... or any other tips?