Find the answer to your Linux question:
Page 1 of 5 1 2 3 4 5 LastLast
Results 1 to 10 of 42
Hi all... Back from the knee doctor, new knee, hurts like HE**.. Anyway, I've found a module for my AR9565 wifi adapter in my Acer Aspire E15 laptop. As usual ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Linux User jkwilborn's Avatar
    Join Date
    Nov 2012

    problem with 'insmod', claims unknown symbol...

    Hi all...

    Back from the knee doctor, new knee, hurts like HE**.. Anyway, I've found a module for my AR9565 wifi adapter in my Acer Aspire E15 laptop. As usual it an Atheros chip set.

    I've had a problem getting my wifi to operate (as usual for an Atheros chip-set). I finally found another person with a laptop and they managed to get it working. I don't know if the part has a blob or the chip-set is open sourced.

    I found an interesting link about an HP with the same chip-set here:

    12.04 - How to install Qualcomm Atheros AR9565 wireless drivers? - Ask Ubuntu

    And followed all the instructions to get it compiled and passed through the linker. I know it's a different machine (HP) and OS (flavor), but they are closely tied and with no other option I went for it. The results left me, to say the least, confused.

    As I've run into something I haven't seen in Linux. When it booted to install, it never found the WiFi hardware, no mention in any of the log files that I could find. However, I can easily find it with lspci. My immediate question was if the OS doesn't know it's there, how would it insert a module for it, what would it link it or connect it to? The Ethernet port was found and a driver was quickly located to get it up and running. So I'm ironing out the strange stuff...

    I wondered what symbol could be 'not used' then I asked 'what symbol' that lead to the search that follows. I tried to insert the module 'ath9k.ko' into the kernel. It choked and give me the unidentified symbol error. Figured if I could find the symbol, remove it then maybe success! After looking in man for a -v option or something, I found it had no option and these errors were supposed to be written into the dmesg output.

    Since the tail portion of dmesg was not large enough to cover what I thought we needed, I cut and pasted it into another doc with the 'insmod' invocation and results listed first. Here is the output, of both.

    root@debian-laptop:/home/jack# insmod /lib/firmware/ath9k.ko
    Error: could not insert module /lib/firmware/ath9k.ko: Unknown symbol in module
    [  765.195684] usb 3-1.2.3: USB disconnect, device number 7
    [ 1097.334489] ath9k: Unknown symbol ath9k_hw_stop_dma_queue (err 0)
    [ 1097.334599] ath9k: Unknown symbol ath9k_hw_set_txpowerlimit (err 0)
    [ 1097.334770] ath9k: Unknown symbol ieee80211_start_tx_ba_cb_irqsafe (err 0)
    [ 1097.335063] ath9k: Unknown symbol ath9k_hw_reset_calvalid (err 0)
    [ 1097.335189] ath9k: Unknown symbol ath9k_hw_intrpend (err 0)
    [ 1097.339105] ath9k: Unknown symbol ath9k_hw_enable_interrupts (err 0)
    [ 1097.339214] ath9k: Unknown symbol ath_key_config (err 0)
    [ 1097.339342] ath9k: Unknown symbol ath9k_hw_btcoex_init_3wire (err 0)
    [ 1097.339443] ath9k: Unknown symbol ath_gen_timer_alloc (err 0)
    [ 1097.339600] ath9k: Unknown symbol ieee80211_free_hw (err 0)
    [ 1097.339701] ath9k: Unknown symbol ath9k_hw_reset (err 0)
    [ 1097.339801] ath9k: Unknown symbol ath9k_hw_abort_tx_dma (err 0)
    [ 1097.339902] ath9k: Unknown symbol ath9k_hw_setuptxqueue (err 0)
    [ 1097.340002] ath9k: Unknown symbol ath9k_hw_setuprxdesc (err 0)
    [ 1097.340103] ath9k: Unknown symbol ath9k_hw_startpcureceive (err 0)
    [ 1097.340221] ath9k: Unknown symbol ar9003_paprd_init_table (err 0)
    [ 1097.340322] ath9k: Unknown symbol ath_rxbuf_alloc (err 0)
    [ 1097.340437] ath9k: Unknown symbol ath9k_hw_putrxbuf (err 0)
    [ 1097.340538] ath9k: Unknown symbol ar9003_mci_start_reset (err 0)
    [ 1097.340640] ath9k: Unknown symbol ieee80211_alloc_hw (err 0)
    [ 1097.340742] ath9k: Unknown symbol ieee80211_start_tx_ba_session (err 0)
    [ 1097.340844] ath9k: Unknown symbol ath9k_hw_setmcastfilter (err 0)
    [ 1097.340951] ath9k: Unknown symbol regulatory_hint (err 0)
    [ 1097.341065] ath9k: Unknown symbol ath9k_hw_btcoex_set_weight (err 0)
    [ 1097.341185] ath9k: Unknown symbol ieee80211_register_hw (err 0)
    [ 1097.341305] ath9k: Unknown symbol __ieee80211_create_tpt_led_trigger (err 0)
    [ 1097.341407] ath9k: Unknown symbol ath9k_hw_setpower (err 0)
    [ 1097.341509] ath9k: Unknown symbol ieee80211_rate_control_unregister (err 0)
    [ 1097.341629] ath9k: Unknown symbol ieee80211_get_hdrlen_from_skb (err 0)
    [ 1097.341733] ath9k: Unknown symbol __ieee80211_get_radio_led_name (err 0)
    [ 1097.341839] ath9k: Unknown symbol ar9003_mci_setup (err 0)
    [ 1097.341940] ath9k: Unknown symbol ath9k_hw_phy_disable (err 0)
    [ 1097.342042] ath9k: Unknown symbol ath9k_cmn_padpos (err 0)
    [ 1097.342160] ath9k: Unknown symbol ieee80211_wake_queue (err 0)
    [ 1097.342277] ath9k: Unknown symbol ath_hw_setbssidmask (err 0)
    [ 1097.342379] ath9k: Unknown symbol ath9k_hw_btcoex_set_concur_txprio (err 0)
    [ 1097.342514] ath9k: Unknown symbol ath9k_hw_check_alive (err 0)
    [ 1097.342615] ath9k: Unknown symbol ath9k_hw_setrxabort (err 0)
    [ 1097.342716] ath9k: Unknown symbol ath9k_hw_txstart (err 0)
    [ 1097.342890] ath9k: Unknown symbol ath9k_hw_btcoex_bt_stomp (err 0)
    [ 1097.343047] ath9k: Unknown symbol ar9003_mci_cleanup (err 0)
    [ 1097.343164] ath9k: Unknown symbol ieee80211_get_buffered_bc (err 0)
    [ 1097.343287] ath9k: Unknown symbol ar9003_mci_send_message (err 0)
    [ 1097.343401] ath9k: Unknown symbol ar9003_get_pll_sqsum_dvc (err 0)
    [ 1097.343535] ath9k: Unknown symbol ath9k_hw_set_rx_bufsize (err 0)
    [ 1097.343637] ath9k: Unknown symbol ar9003_mci_set_bt_version (err 0)
    [ 1097.343738] ath9k: Unknown symbol ath_hw_cycle_counters_update (err 0)
    [ 1097.343839] ath9k: Unknown symbol ath9k_hw_updatetxtriglevel (err 0)
    [ 1097.343943] ath9k: Unknown symbol ieee80211_send_bar (err 0)
    [ 1097.344045] ath9k: Unknown symbol ath9k_hw_beaconinit (err 0)
    [ 1097.344157] ath9k: Unknown symbol ar9003_mci_get_interrupt (err 0)
    [ 1097.344260] ath9k: Unknown symbol ieee80211_sta_set_buffered (err 0)
    [ 1097.344378] ath9k: Unknown symbol compat_dependency_symbol (err 0)
    [ 1097.344483] ath9k: Unknown symbol wiphy_rfkill_set_hw_state (err 0)
    [ 1097.344606] ath9k: Unknown symbol ath9k_hw_settsf64 (err 0)
    [ 1097.344743] ath9k: Unknown symbol ath9k_cmn_count_streams (err 0)
    [ 1097.344855] ath9k: Unknown symbol ath9k_hw_init_global_settings (err 0)
    [ 1097.344957] ath9k: Unknown symbol ath9k_hw_abortpcurecv (err 0)
    [ 1097.345068] ath9k: Unknown symbol ath9k_hw_name (err 0)
    [ 1097.345179] ath9k: Unknown symbol ath9k_hw_beaconq_setup (err 0)
    [ 1097.345300] ath9k: Unknown symbol ieee80211_stop_tx_ba_cb_irqsafe (err 0)
    [ 1097.345403] ath9k: Unknown symbol ath9k_hw_init_btcoex_hw (err 0)
    [ 1097.345504] ath9k: Unknown symbol ath9k_hw_btcoex_init_scheme (err 0)
    [ 1097.345606] ath9k: Unknown symbol ar9003_mci_state (err 0)
    [ 1097.345715] ath9k: Unknown symbol wiphy_to_ieee80211_hw (err 0)
    [ 1097.345816] ath9k: Unknown symbol ath9k_hw_puttxbuf (err 0)
    [ 1097.345917] ath9k: Unknown symbol ath_reg_notifier_apply (err 0)
    [ 1097.346041] ath9k: Unknown symbol ieee80211_queue_delayed_work (err 0)
    [ 1097.346143] ath9k: Unknown symbol ath9k_hw_write_associd (err 0)
    [ 1097.346244] ath9k: Unknown symbol ath9k_cmn_update_ichannel (err 0)
    [ 1097.346346] ath9k: Unknown symbol ar9003_mci_get_next_gpm_offset (err 0)
    [ 1097.346446] ath9k: Unknown symbol wiphy_rfkill_stop_polling (err 0)
    [ 1097.346579] ath9k: Unknown symbol ath9k_hw_setup_statusring (err 0)
    [ 1097.346700] ath9k: Unknown symbol ieee80211_find_sta_by_ifaddr (err 0)
    [ 1097.346867] ath9k: Unknown symbol ath9k_hw_addrxbuf_edma (err 0)
    [ 1097.347625] ath9k: Unknown symbol ieee80211_rx (err 0)
    [ 1097.347919] ath9k: Unknown symbol ath_is_world_regd (err 0)
    [ 1097.347988] ath9k: Unknown symbol ath9k_hw_gen_timer_stop (err 0)
    [ 1097.348011] ath9k: Unknown symbol ath9k_hw_ani_monitor (err 0)
    [ 1097.348033] ath9k: Unknown symbol ath9k_hw_btcoex_disable (err 0)
    [ 1097.348079] ath9k: Unknown symbol ieee80211_wake_queues (err 0)
    [ 1097.348102] ath9k: Unknown symbol ath9k_hw_getnf (err 0)
    [ 1097.348125] ath9k: Unknown symbol ath9k_hw_set_tsfadjust (err 0)
    [ 1097.348147] ath9k: Unknown symbol ieee80211_rate_control_register (err 0)
    [ 1097.348172] ath9k: Unknown symbol ar9003_hw_bb_watchdog_dbg_info (err 0)
    [ 1097.348193] ath9k: Unknown symbol ar9003_paprd_create_curve (err 0)
    [ 1097.348216] ath9k: Unknown symbol ath9k_hw_set_sta_beacon_timers (err 0)
    [ 1097.348239] ath9k: Unknown symbol ieee80211_free_txskb (err 0)
    [ 1097.348282] ath9k: Unknown symbol ath9k_hw_btcoex_init_2wire (err 0)
    [ 1097.348318] ath9k: Unknown symbol ath9k_hw_gettsf64 (err 0)
    [ 1097.348339] ath9k: Unknown symbol ath9k_hw_rxprocdesc (err 0)
    [ 1097.348361] ath9k: Unknown symbol ath_gen_timer_isr (err 0)
    [ 1097.348382] ath9k: Unknown symbol ath9k_hw_resettxqueue (err 0)
    [ 1097.348408] ath9k: Unknown symbol ath9k_hw_disable (err 0)
    [ 1097.348433] ath9k: Unknown symbol ath9k_hw_setopmode (err 0)
    [ 1097.348458] ath9k: Unknown symbol ar9003_paprd_populate_single_table (err 0)
    [ 1097.348480] ath9k: Unknown symbol ath9k_hw_process_rxdesc_edma (err 0)
    [ 1097.348509] ath9k: Unknown symbol ath_printk (err 0)
    [ 1097.348541] ath9k: Unknown symbol ieee80211_tx_status (err 0)
    [ 1097.348563] ath9k: Unknown symbol ieee80211_stop_queue (err 0)
    [ 1097.348585] ath9k: Unknown symbol ieee80211_stop_queues (err 0)
    [ 1097.348619] ath9k: Unknown symbol ath9k_hw_kill_interrupts (err 0)
    [ 1097.348641] ath9k: Unknown symbol ath9k_hw_cfg_gpio_input (err 0)
    [ 1097.348680] ath9k: Unknown symbol wiphy_rfkill_start_polling (err 0)
    [ 1097.348704] ath9k: Unknown symbol ath9k_hw_reset_tsf (err 0)
    [ 1097.348726] ath9k: Unknown symbol ath9k_hw_get_txq_props (err 0)
    [ 1097.348748] ath9k: Unknown symbol ath9k_hw_releasetxqueue (err 0)
    [ 1097.348769] ath9k: Unknown symbol ath9k_hw_setrxfilter (err 0)
    [ 1097.348790] ath9k: Unknown symbol ath_gen_timer_free (err 0)
    [ 1097.348821] ath9k: Unknown symbol ieee80211_iterate_active_interfaces_atomic (err 0)
    [ 1097.348875] ath9k: Unknown symbol rate_control_send_low (err 0)
    [ 1097.348906] ath9k: Unknown symbol ieee80211_unregister_hw (err 0)
    [ 1097.348938] ath9k: Unknown symbol ath9k_cmn_get_curchannel (err 0)
    [ 1097.348959] ath9k: Unknown symbol ath9k_hw_gettxbuf (err 0)
    [ 1097.348986] ath9k: Unknown symbol ath_regd_init (err 0)
    [ 1097.349007] ath9k: Unknown symbol ath9k_hw_gpio_get (err 0)
    [ 1097.349034] ath9k: Unknown symbol ieee80211_beacon_get_tim (err 0)
    [ 1097.349056] ath9k: Unknown symbol ath9k_hw_bstuck_nfcal (err 0)
    [ 1097.349078] ath9k: Unknown symbol ath9k_hw_disable_interrupts (err 0)
    [ 1097.349104] ath9k: Unknown symbol ath9k_cmn_update_txpow (err 0)
    [ 1097.349125] ath9k: Unknown symbol ath9k_hw_computetxtime (err 0)
    [ 1097.349147] ath9k: Unknown symbol ath_key_delete (err 0)
    [ 1097.349171] ath9k: Unknown symbol ath9k_hw_getchan_noise (err 0)
    [ 1097.349195] ath9k: Unknown symbol ar9003_paprd_enable (err 0)
    [ 1097.349217] ath9k: Unknown symbol ath9k_hw_btcoex_init_mci (err 0)
    [ 1097.349251] ath9k: Unknown symbol ath9k_hw_stopdmarecv (err 0)
    [ 1097.349273] ath9k: Unknown symbol ath9k_cmn_get_hw_crypto_keytype (err 0)
    [ 1097.349295] ath9k: Unknown symbol ath9k_hw_set_interrupts (err 0)
    [ 1097.349316] ath9k: Unknown symbol ath9k_hw_wait (err 0)
    [ 1097.349345] ath9k: Unknown symbol ath9k_hw_btcoex_enable (err 0)
    [ 1097.349370] ath9k: Unknown symbol ar9003_paprd_setup_gain_table (err 0)
    [ 1097.349391] ath9k: Unknown symbol ath9k_hw_numtxpending (err 0)
    [ 1097.349438] ath9k: Unknown symbol ieee80211_queue_work (err 0)
    [ 1097.349461] ath9k: Unknown symbol ath9k_cmn_init_crypto (err 0)
    [ 1097.349482] ath9k: Unknown symbol ath9k_hw_set_gpio (err 0)
    [ 1097.349504] ath9k: Unknown symbol ath9k_hw_gen_timer_start (err 0)
    [ 1097.349525] ath9k: Unknown symbol ath9k_hw_setantenna (err 0)
    [ 1097.349555] ath9k: Unknown symbol ar9003_mci_send_wlan_channels (err 0)
    [ 1097.349577] ath9k: Unknown symbol ath9k_hw_cfg_output (err 0)
    [ 1097.349602] ath9k: Unknown symbol ath9k_hw_deinit (err 0)
    [ 1097.349630] ath9k: Unknown symbol ath9k_hw_init (err 0)
    [ 1097.349652] ath9k: Unknown symbol ath9k_hw_set_txq_props (err 0)
    [ 1097.349674] ath9k: Unknown symbol ar9003_paprd_is_done (err 0)
    I think it has no idea of what to do with the module, even thought it reports a bad symbol. I think it's coughing up all of the external links to the module. I put this here because I think it's something someone who programs would know. I know I have more to add to this, but I don't know how to find everything I've entered (questions).

    Thanks for any help...


  2. #2
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    It is probably a firmware problem. Go to, find the device you have, get the appropriate driver and firmware, then install them as per the directions you find there.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  3. #3
    Linux User jkwilborn's Avatar
    Join Date
    Nov 2012
    Actually I've already tried. What the problem seems to be is that the OS / installation program doesn't seem to know it's there, yet perfectly visible to lspci. Which is why I was wondering about how the kernel knows how to install a certain module. It must know more than just a name, even that is not appearing on my logs. Might be looking at the wrong things, but I've done this a few times (too many!)

    They do not show my model, but state that the AR9565 is supported by a FOSS driver



    P.S. just got back Sunday from the hospital, so my attention is limited. New knee, lots of ouch!
    Last edited by jkwilborn; 08-20-2014 at 11:30 PM.

  4. $spacer_open
  5. #4
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Ouch indeed! It will be awhile before you run your next marathon!

    Anyway, the unknown symbol error has to be that the driver kernel module (xxx.ko) has been built for the wrong kernel. What kernel version are you using, and what kernel version was it built for? You may have to get the source code for the driver and build it yourself against your kernel version's sources. The firmware would be proprietary and doesn't seem to be the issue in this case.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  6. #5
    Linux Guru
    Join Date
    Dec 2013
    Sorry about your knee Jack but I guess in time a new knee is a good thing.

    After boot is initiated the kernel reads from a list of structures that the bios has loaded into memory. It gets the device ids from this those structures and then looks to see what modules are available to be loaded. Generally speaking an unknown symbol usually means something needs to be linked that can't be found.

    Did you run 'make menuconfig' and enable mac80211? ath9k - Linux Wireless

  7. #6
    Linux User jkwilborn's Avatar
    Join Date
    Nov 2012
    Yes I did enable it, but I'm still running on the distributed kernel. I thought I'd wait to upgrade until I get somewhere with this problem. My thought was like yours, but I think when you load a module, it attempts to match symbols (same as a linker), but fails and we hear about it.

    Do you know if lspci also looks in some file or does it actually check out the hardware. I would guess a file, as it could impair proper functioning if it goes directly to the hardware. If it looks in th file for it, it would be logical to deduce that the kernel had found it, but I can't locate any log files that seem to suggest that it did locate the hardware. If the installation doesn't build the table or that device is missing, then it kind of falls apart if you know what I mean. Not knowing how much of this does work is a major learning cure for me and I'm sure others that are attempting to put together fixes.

    Following your description, is there an "available modules" / "device id" description somewhere or is there a call that I can make that will show this?

    Thanks, need to get off my knee for a while.


  8. #7
    Linux Guru
    Join Date
    Dec 2013
    I don't think lspci is probing hardware. It will vary from system to system I'm sure but I think on many Linux systems it looks in /sys/bus/pci/devices. You can scrounge around in /sys/bus/pci and find much info.

  9. #8
    Linux User jkwilborn's Avatar
    Join Date
    Nov 2012
    Is that where the installation process stores what it has found? I still feel that it's a problem when it doesn't find the hardware during installation. Even if I find a workable module, how would the OS know what to do with it? Maybe that's what I'm missing, to help figure this out. I can get the a module (appears to be ath9K), but the OS doesn't seem to know what to do with it.

    Of course it could be me being stupid and not catching something I should have. Before, with a very similar problem, I could at least find tracks that the OS found the hardware during installation and at every re-boot. That doesn't appear to be the case here.

    These /sys/bus/pci files, are they flat text files or do I need something to read them with? Again, if I don't find any information via syslog or dmesg what do I do next? Or is lspci reading what the OS found from these pci files? If so, why don't I get a message that states 'cannot load firmware'?

    When I do the lspci, I seem to remember that some of it is marked 'disabled', and I have no clue what that means...

    Thanks for the help...


  10. #9
    Linux Guru
    Join Date
    Dec 2013
    I believe the UNIX specification says devices found at startup are stored in /proc/pci but (I think) s/most/all/ Linux use /sys/bus/pci.

    Have you checked to see if it's listed by the BIOS? Most of what gets called "probing" is actually asking the OS what it knows about the devices connected. As I mentioned earlier it gets information from areas of memory populated by the BIOS. A couple of commands that look at these areas of memory are 'biosdecode' and 'dmidecode'.

    In the days before PnP when installing FreeBSD it had to actually probe for hardware. As I recall it issued dire warnings about potential damage to the system. I think PnP and changed all that. Hot plug devices are probably handled through their drivers but I presume the device in question doesn't fit that description.

    sudo dmidecode --type 9
    This will display information on the PCI devices that are available.

  11. #10
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    It depends upon the kernel version you are running. Newer ones put stuff in /sys. Others in /proc. Some in both.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

Page 1 of 5 1 2 3 4 5 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts