LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Make Error (wireless realtek driver) (https://www.linuxquestions.org/questions/slackware-14/make-error-wireless-realtek-driver-883400/)

rc nai 05-29-2011 05:49 PM

Make Error (wireless realtek driver)
 
My lspci:
Code:

02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)
03:00.0 Ethernet controller: Atheros Communications AR8151 v1.0 Gigabit Ethernet (rev c0)

ifconfig wlan0 up
Code:

wlan0: ERROR while getting interface flags: No such device
ifconfig -a
Code:

eth0      Link encap:Ethernet  HWaddr 60:eb:69:d3:e3:1f 
          inet addr:192.168.1.116  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::62eb:69ff:fed3:e31f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12939 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10163 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000
          RX bytes:15155355 (14.4 MiB)  TX bytes:1329877 (1.2 MiB)
          Interrupt:43

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:600 (600.0 B)  TX bytes:600 (600.0 B)

I downloaded the driver at realtek website but I have trouble during the make command as root:
Code:

make -C /lib/modules/2.6.39/build M=/home/john/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011 modules
make[1]: Entering directory `/usr/src/linux-2.6.39'
  CC [M]  /home/john/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/base.o
/home/john/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/base.c: In function 'rtl_action_proc':
/home/john/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/base.c:840:25: error: 'RX_FLAG_TSFT' undeclared (first use in this function)
/home/john/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/base.c:840:25: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/home/john/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/base.o] Error 1
make[1]: *** [_module_/home/john/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.39'
make: *** [all] Error 2

I'm running on a custom kernel 2.6.39 slackware64 instead of the stock 2.6.37 kernel. I'm currently connected via ethernet cable and it works, but having trouble getting the wireless up. I installed wicd from slackware extras/ and it's currently using the wext driver. I also told it to use wlan0 as my wireless interface. My internet security is setup to use wpa-preshared key.

Any suggestions on how to fix the make error, or an alternative way to installing this driver?

Thank you.

D1ver 05-29-2011 06:32 PM

I used src2pkg to build and install the Realtek RTL8191SEvB driver without any errors on -current a few weeks ago, maybe that would work..

larryhaja 05-29-2011 07:34 PM

Well, it looks like they renamed RX_FLAG_TSFT to RX_FLAG_MACTIME_MPDU in kernel 2.6.39.

From ChangeLog:
Quote:

commit 6ebacbb79d2d05978ba50a24d8cbe2a76ff2014c
Author: Johannes Berg <johannes.berg@intel.com>
Date: Wed Feb 23 15:06:08 2011 +0100

mac80211: rename RX_FLAG_TSFT

The flag isn't very descriptive -- the intention
is that the driver provides a TSF timestamp at
the beginning of the MPDU -- make that clearer
by renaming the flag to RX_FLAG_MACTIME_MPDU.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
You can run the following command before running make in order to compile the driver against kernel 2.6.39.
Code:

# sed -i 's|RX_FLAG_TSFT|RX_FLAG_MACTIME_MPDU|g' base.c rtl8192{ce,se,de}/trx.c
or if you want a patch then:
Code:

diff -Naur rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011.orig/base.c rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/base.c
--- rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011.orig/base.c        2011-03-31 09:07:26.000000000 +0000
+++ rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/base.c        2011-05-30 07:21:00.333286252 +0000
@@ -837,7 +837,7 @@
                                                rx_status.freq = hw->conf.channel->center_freq;
                                                rx_status.band = hw->conf.channel->band;
                                                rx_status.flag |= RX_FLAG_DECRYPTED;
-                                                rx_status.flag |= RX_FLAG_TSFT;
+                                                rx_status.flag |= RX_FLAG_MACTIME_MPDU;
                                                rx_status.rate_idx = 0;
                                                rx_status.signal = 50 + 10;
                                                memcpy(IEEE80211_SKB_RXCB(skb_delba), &rx_status,
diff -Naur rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011.orig/rtl8192ce/trx.c rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/trx.c
--- rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011.orig/rtl8192ce/trx.c        2011-03-31 09:07:26.000000000 +0000
+++ rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/trx.c        2011-05-30 07:21:00.346620451 +0000
@@ -670,7 +670,7 @@
        if (GET_RX_DESC_RXHT(pdesc))
                rx_status->flag |= RX_FLAG_HT;
 
-        rx_status->flag |= RX_FLAG_TSFT;
+        rx_status->flag |= RX_FLAG_MACTIME_MPDU;
 
        if (stats->decrypted)
                rx_status->flag |= RX_FLAG_DECRYPTED;
diff -Naur rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011.orig/rtl8192de/trx.c rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/trx.c
--- rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011.orig/rtl8192de/trx.c        2011-03-31 09:07:26.000000000 +0000
+++ rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/trx.c        2011-05-30 07:21:00.379954068 +0000
@@ -586,7 +586,7 @@
                rx_status->flag |= RX_FLAG_40MHZ;
        if (GET_RX_DESC_RXHT(pdesc))
                rx_status->flag |= RX_FLAG_HT;
-        rx_status->flag |= RX_FLAG_TSFT;
+        rx_status->flag |= RX_FLAG_MACTIME_MPDU;
        if (stats->decrypted)
                rx_status->flag |= RX_FLAG_DECRYPTED;
        rx_status->rate_idx = _rtl92de_rate_mapping((bool)
diff -Naur rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011.orig/rtl8192se/trx.c rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/trx.c
--- rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011.orig/rtl8192se/trx.c        2011-03-31 09:07:26.000000000 +0000
+++ rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/trx.c        2011-05-30 07:21:00.369954117 +0000
@@ -634,7 +634,7 @@
        if (GET_RX_STATUS_DESC_RX_HT(pdesc))
                rx_status->flag |= RX_FLAG_HT;
 
-        rx_status->flag |= RX_FLAG_TSFT;
+        rx_status->flag |= RX_FLAG_MACTIME_MPDU;
 
        if (stats->decrypted)
                rx_status->flag |= RX_FLAG_DECRYPTED;

Hope that helps.

rc nai 05-29-2011 08:00 PM

Quote:

Originally Posted by D1ver (Post 4370495)
I used src2pkg to build and install the Realtek RTL8191SEvB driver without any errors on -current a few weeks ago, maybe that would work..

Hmm, this is weird. I must've missed something while building my custom kernel 2.6.39.

Anyway, I got the package to make with src2pkg while on stock kernel 2.6.37.6-smp. I installed it with slackware's package tool. I also got the wireless internet up and running with wicd.

But I can't make the package with src2pkg while on custom kernel 2.6.39. I get an error:
Code:

ERROR! Compiling source code has failed.
This usually happens because of missing libraries, or badly written Makefiles or configure scripts.

@larryhaja
Thank you I will try that and report back.

rc nai 05-29-2011 08:27 PM

I entered into the source folder and did:
Code:

sed -i 's|RX_FLAG_TSFT|RX_FLAG_MACTIME_MPDU|g' base.c rtl8192{ce,se,de}/trx.c
I ran make and got a little further, but ran into this:
Code:

make -C /lib/modules/2.6.39/build M=/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011 modules
make[1]: Entering directory `/usr/src/linux-2.6.39'
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/base.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rc.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/debug.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/regd.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/efuse.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/cam.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/ps.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/core.o
/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/core.c:1331:2: warning: initialization from incompatible pointer type
/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/core.c:1345:2: warning: initialization from incompatible pointer type
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/pci.o
  LD [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtlwifi.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtlwifi.mod.o
  LD [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtlwifi.ko
make[1]: Leaving directory `/usr/src/linux-2.6.39'
make[1]: Entering directory `/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce'
make -C /lib/modules/2.6.39/build M=/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce modules
make[2]: Entering directory `/usr/src/linux-2.6.39'
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/hw.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/table.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/sw.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/trx.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/led.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/fw.o
/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/fw.c: In function 'rtl92c_download_fw':
/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/fw.c:240:3: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int'
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/phy.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/rf.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/dm.o
  LD [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/rtl8192ce.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/rtl8192ce.mod.o
  LD [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/rtl8192ce.ko
make[2]: Leaving directory `/usr/src/linux-2.6.39'
make[1]: Leaving directory `/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce'
make[1]: Entering directory `/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se'
make -C /lib/modules/2.6.39/build M=/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se modules
make[2]: Entering directory `/usr/src/linux-2.6.39'
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/hw.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/table.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/sw.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/trx.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/led.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/fw.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/phy.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/rf.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/dm.o
  LD [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/rtl8192se.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/rtl8192se.mod.o
  LD [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/rtl8192se.ko
make[2]: Leaving directory `/usr/src/linux-2.6.39'
make[1]: Leaving directory `/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se'
make[1]: Entering directory `/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de'
make -C /lib/modules/2.6.39/build M=/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de modules
make[2]: Entering directory `/usr/src/linux-2.6.39'
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/hw.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/table.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/sw.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/trx.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/led.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/fw.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/phy.o
/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/phy.c: In function 'rtl92d_phy_reset_iqk_result':
/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/phy.c:3002:2: warning: format '%d' expects type 'int', but argument 2 has type 'long unsigned int'
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/rf.o
  CC [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/dm.o
  LD [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/rtl8192de.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/rtl8192de.mod.o
  LD [M]  /home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/rtl8192de.ko
make[2]: Leaving directory `/usr/src/linux-2.6.39'
make[1]: Leaving directory `/home/john/src/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de'

--
EDIT:

woops, nvm I guess I was being too careful or something. I forgot to do the make install part. I rebooted now and I am now connected. Thank you larryhaja.

piratesmack 05-29-2011 08:40 PM

That looks like a successful build.
Did you try "make install"?

edit: nvm, didn't see your edit.


All times are GMT -5. The time now is 11:17 PM.