Results 1 to 7 of 7

Thread: Can't understand the errors when compiling the driver

  1. #1

    Default Can't understand the errors when compiling the driver

    Hello forum,

    I have a realtek 8188CE card. When I was on opensuse 12.3 I had random dc problem till I downloaded the source code and compiled the driver myself.

    Then I upgraded the OS to 13.1. The system still seems to be stable during about 2 months use. However I think I am having the old dc problem again randomly.

    I don't know if after upgrading the OS one must re-compile the drivers. Anyway I am doing it. However, I got these errors when doing the command "make":

    Code:
    make -C /lib/modules/3.11.6-4-desktop/build M=/home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013 modules
    make[1]: Entering directory `/usr/src/linux-3.11.6-4-obj/x86_64/desktop'
      CC [M]  /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.o
    In file included from /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:39:0:
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/pci.h:247:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtl_pci_probe’
     int __devinit rtl_pci_probe(struct pci_dev *pdev,
                   ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c: In function ‘rtl_action_proc’:
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:885:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
           rx_status.freq = hw->conf.channel->center_freq;
                                    ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:886:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
           rx_status.band = hw->conf.channel->band;
                                    ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c: In function ‘rtl_send_smps_action’:
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:1451:24: error: ‘struct ieee80211_conf’ has no member named ‘channel’
       info->band = hw->conf.channel->band;
                            ^
    make[4]: *** [/home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.o] Error 1
    make[3]: *** [_module_/home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013] Error 2
    make[2]: *** [sub-make] Error 2
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/usr/src/linux-3.11.6-4-obj/x86_64/desktop'
    make: *** [all] Error 2
    Is that some packages are missing? Thanks !

  2. #2
    Join Date
    Jun 2008
    Location
    Kansas City Area, Missouri, USA
    Posts
    7,236

    Default Re: Can't understand the errors when compiling the driver

    On 02/01/2014 04:46 AM, bonedriven wrote:
    >
    > Hello forum,
    >
    > I have a realtek 8188CE card. When I was on opensuse 12.3 I had random
    > dc problem till I downloaded the source code and compiled the driver
    > myself.
    >
    > Then I upgraded the OS to 13.1. The system still seems to be stable
    > during about 2 months use. However I think I am having the old dc
    > problem again randomly.
    >
    > I don't know if after upgrading the OS one must re-compile the drivers.
    > Anyway I am doing it. However, I got these errors when doing the command
    > "make":
    >
    >
    > Code:
    > --------------------
    > make -C /lib/modules/3.11.6-4-desktop/build M=/home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013 modules
    > make[1]: Entering directory `/usr/src/linux-3.11.6-4-obj/x86_64/desktop'
    > CC [M] /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.o
    > In file included from /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:39:0:
    > /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/pci.h:247:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtl_pci_probe’
    > int __devinit rtl_pci_probe(struct pci_dev *pdev,
    > ^
    > /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c: In function ‘rtl_action_proc’:
    > /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:885:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
    > rx_status.freq = hw->conf.channel->center_freq;
    > ^
    > /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:886:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
    > rx_status.band = hw->conf.channel->band;
    > ^
    > /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c: In function ‘rtl_send_smps_action’:
    > /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:1451:24: error: ‘struct ieee80211_conf’ has no member named ‘channel’
    > info->band = hw->conf.channel->band;
    > ^
    > make[4]: *** [/home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.o] Error 1
    > make[3]: *** [_module_/home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013] Error 2
    > make[2]: *** [sub-make] Error 2
    > make[1]: *** [all] Error 2
    > make[1]: Leaving directory `/usr/src/linux-3.11.6-4-obj/x86_64/desktop'
    > make: *** [all] Error 2


    No packages are missing. The kernel is very careful about making the various
    ABIs unchanging so that an application from an old version of Linux still works
    on a newer one. The same is not true for the APIs. After all, the kernel is a
    closed system, and the rule is that anyone that changes an API needs to fix it
    for all built-in drivers. The vendor or the user needs to change it for all
    out-of-kernel drivers. To use the vendor's driver, you will need to make these
    changes yourself. The one with __devinit is easy - that compiler directive was
    deleted and needs to be removed from the source. The one with "channel" missing
    is more complicated, but you can change the code to look like this in every such
    place:

    #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0))
    if (IEEE80211_BAND_2GHZ == hw->conf.chandef.chan->band) {
    #else
    if (IEEE80211_BAND_2GHZ == hw->conf.channel->band) {
    #endif


    In other words, wherever the code refers to "hw->conf.channel->band", it needs
    to be changed to "hw->conf.chandef.chan->band".



  3. #3

    Default Re: Can't understand the errors when compiling the driver

    Quote Originally Posted by lwfinger View Post

    No packages are missing. The kernel is very careful about making the various
    ABIs unchanging so that an application from an old version of Linux still works
    on a newer one. The same is not true for the APIs. After all, the kernel is a
    closed system, and the rule is that anyone that changes an API needs to fix it
    for all built-in drivers. The vendor or the user needs to change it for all
    out-of-kernel drivers. To use the vendor's driver, you will need to make these
    changes yourself.
    Hello lwfinger, thanks again for looking into my problem. You may think too high of my computer knowledge, .
    I don't think I follow what you meant (but other people may benefit from your explanation there). So it means that I
    should have lost the driver that I had compiled on 12.3 after os upgrade?
    Quote Originally Posted by lwfinger View Post
    The one with __devinit is easy - that compiler directive was
    deleted and needs to be removed from the source.
    What do I exactly delete? I still have the error there after I delete the "int __devinit ..." line.

    Quote Originally Posted by lwfinger View Post
    The one with "channel" missing
    is more complicated, but you can change the code to look like this in every such
    place:

    #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0))
    if (IEEE80211_BAND_2GHZ == hw->conf.chandef.chan->band) {
    #else
    if (IEEE80211_BAND_2GHZ == hw->conf.channel->band) {
    #endif


    In other words, wherever the code refers to "hw->conf.channel->band", it needs
    to be changed to "hw->conf.chandef.chan->band".
    The second error seem to be gone after I made the change according to you instructions ! Magic to me !

  4. #4
    Join Date
    Jun 2008
    Location
    Kansas City Area, Missouri, USA
    Posts
    7,236

    Default Re: Can't understand the errors when compiling the driver

    On 02/01/2014 11:46 AM, bonedriven wrote:
    >
    > lwfinger;2621270 Wrote:
    >>
    >>
    >> No packages are missing. The kernel is very careful about making the
    >> various
    >> ABIs unchanging so that an application from an old version of Linux
    >> still works
    >> on a newer one. The same is not true for the APIs. After all, the kernel
    >> is a
    >> closed system, and the rule is that anyone that changes an API needs to
    >> fix it
    >> for all built-in drivers. The vendor or the user needs to change it for
    >> all
    >> out-of-kernel drivers. To use the vendor's driver, you will need to make
    >> these
    >> changes yourself.
    >>

    >
    > Hello lwfinger, thanks again for looking into my problem. You may think
    > too high of my computer knowledge, .
    > I don't think I follow what you meant (but other people may benefit from
    > your explanation there). So it means that I
    > should have lost the driver that I had compiled on 12.3 after os
    > upgrade?


    Unless you are willing to follow all the API changes, the answer is "yes".

    > lwfinger;2621270 Wrote:
    >>
    >> The one with __devinit is easy - that compiler directive was
    >> deleted and needs to be removed from the source.

    > What do I exactly delete? I still have the error there after I delete
    > the "int __devinit ..." line.


    Do not delete the line, just the __devinit part. If you look carefully, the
    error changed.

    > Those errors seem to be gone after I changed them according to you
    > instructions ! Magic to me !


    Of course - that is the real fix that was applied when the change was made in
    mac80211.


  5. #5

    Default Re: Can't understand the errors when compiling the driver

    Alright, new error now :

    Code:
    make -C /lib/modules/3.11.6-4-desktop/build M=/home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013 modules
    make[1]: Entering directory `/usr/src/linux-3.11.6-4-obj/x86_64/desktop'
      CC [M]  /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.o
      CC [M]  /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/rc.o
      CC [M]  /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.o
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c: In function ‘rtl_proc_add_one’:
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:605:2: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
      rtlpriv->dbg.proc_dir = create_proc_entry(rtlpriv->dbg.proc_name,
      ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:605:24: warning: assignment makes pointer from integer without a cast [enabled by default]
      rtlpriv->dbg.proc_dir = create_proc_entry(rtlpriv->dbg.proc_name,
                            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:614:2: error: implicit declaration of function ‘create_proc_read_entry’ [-Werror=implicit-function-declaration]
      entry = create_proc_read_entry("mac-0", S_IFREG | S_IRUGO,
      ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:614:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("mac-0", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:621:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("mac-1", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:628:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("mac-2", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:635:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("mac-3", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:642:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("mac-4", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:649:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("mac-5", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:656:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("mac-6", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:663:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("mac-7", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:670:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("bb-8", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:677:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("bb-9", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:684:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("bb-a", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:691:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("bb-b", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:698:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("bb-c", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:705:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("bb-d", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:712:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("bb-e", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:719:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("bb-f", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:726:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("rf-a", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:733:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("rf-b", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:740:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("cam-1", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:747:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("cam-2", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:754:8: warning: assignment makes pointer from integer without a cast [enabled by default]
      entry = create_proc_read_entry("cam-3", S_IFREG | S_IRUGO,
            ^
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c: In function ‘rtl_proc_add_topdir’:
    /home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.c:797:15: warning: assignment makes pointer from integer without a cast [enabled by default]
       proc_topdir = create_proc_entry("rtlwifi",
                   ^
    cc1: some warnings being treated as errors
    make[4]: *** [/home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/debug.o] Error 1
    make[3]: *** [_module_/home/jake/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013] Error 2
    make[2]: *** [sub-make] Error 2
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/usr/src/linux-3.11.6-4-obj/x86_64/desktop'
    make: *** [all] Error 2
    I wonder if these errors will ever stop?

  6. #6
    Join Date
    May 2012
    Location
    Finland
    Posts
    2,188

    Default Re: Can't understand the errors when compiling the driver

    Hi Bone,

    Grab this and tell me if it compiles cleanly for you and works (I do not have a Realtek) - if it does, I can make a spec file for it and put it up in the build service:
    https://onedrive.live.com/redir?resi...855AA79D%21107
    .: miuku @ #opensuse @ irc.libera.chat

  7. #7

    Default Re: Can't understand the errors when compiling the driver

    Quote Originally Posted by Miuku View Post
    Hi Bone,

    Grab this and tell me if it compiles cleanly for you and works (I do not have a Realtek) - if it does, I can make a spec file for it and put it up in the build service:
    https://onedrive.live.com/redir?resi...855AA79D%21107
    Thank you very much Miuku. As a noob, I seldom compile stuff. I'll see when I have the time and report back.

Posting Permissions

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