SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi everyone!
So, that's is my problem:
I trying to make my Wireless USB Adapter work on Slack 13.37 and get the network WPA2-PSK. I already installed the windows driver by ndiswrapper and set the wpa_supplicant by:
Until here it's ok. I initiate my USB Adapter by modprobe ndiswrapper, and it's flashing normally.
But for active the wpa_supplicant that's getting hard. Has to use this command, hasn't?
But the madwifi isn't installed, and i'm not getting installe it, i think has something to do with kernel version, i'm new on distributions Linux so i don't know how. I tryed follow some tutorials of the forum but none work. I also tryed enter on my network by wicd, and it's showing all the networks availables, but when i try to connect at my network, stop on "Obtaining IP Address".
On Ubuntu it's just install the driver from Windows by ndiswrapper, and give a modprobe ndiswrapper that's OK.
get the driver from http://linuxwireless.org/. Pick the latest one (choose bleeding edge download) and then you just need to extract, compile and install and don't forget to reboot after you finished. You must have kernel source installed. I did it on my laptop. It works.
I made sure that the kernel headers, modules and source were installed, but during the "make" an error shows up, i copied just the part when the error appears:
Quote:
CC [M] /home/gustavo/Desktop/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.o
/home/gustavo/Desktop/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c: In function 'iwl_trans_rx_alloc':
/home/gustavo/Desktop/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:91:2: error: implicit declaration of function 'dma_zalloc_coherent'
/home/gustavo/Desktop/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:91:10: warning: assignment makes pointer from integer without a cast
/home/gustavo/Desktop/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:97:15: warning: assignment makes pointer from integer without a cast
make[4]: *** [/home/gustavo/Desktop/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.o] Error 1
make[3]: *** [/home/gustavo/Desktop/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi] Error 2
make[2]: *** [/home/gustavo/Desktop/compat-wireless-2012-01-12/drivers/net/wireless] Error 2
make[1]: *** [_module_/home/gustavo/Desktop/compat-wireless-2012-01-12] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37.6'
make: *** [modules] Error 2
I had the same error as yours, and found the solution in:
comments.gmane.org/gmane.linux.kernel.wireless.general/83960
(sorry this is my first post and then I cannot write URLs)
My kernel is indeed older than 3.2.
What I did (since the information on the link are not very talkative) is that I just copied into iwl-trans-pcie.c (just after the "includes") the definition of the function dma_zalloc_coherent:
static inline void *dma_zalloc_coherent(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t flag)
{
void *ret = dma_alloc_coherent(dev, size, dma_handle, flag);
if (ret)
memset(ret, 0, size);
return ret;
}
CC [M] /root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.o
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:85:8: error: expected '=', ',', ';', 'asm' or '__attribute__' before '/' token
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:85:22: error: too many decimal points in number
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:88:35: error: too many decimal points in number
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:88:64: error: too many decimal points in number
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:90:28: error: too many decimal points in number
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:91:28: error: too many decimal points in number
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:92:1: error: stray '@' in program
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:92:1: error: stray '@' in program
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:92:1: error: stray '@' in program
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:92:1: error: stray '@' in program
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c: In function '__inittest':
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:93:10: error: '__platform_driver_init' undeclared (first use in this function)
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:93:10: note: each undeclared identifier is reported only once for each function it appears in
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c: In function '__platform_driver_exit':
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:93:10: error: implicit declaration of function 'platform_driver_unregister'
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:93:10: error: '__platform_driver' undeclared (first use in this function)
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c: At top level:
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:96:1: error: expected identifier or '(' before '+' token
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:104:1: error: expected identifier or '(' before '+' token
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:105:3: error: #endif without #if
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:107:3: error: #endif without #if
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c: In function 'iwl_rx_init':
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:226:3: error: implicit declaration of function 'iwl_trans_rx_alloc'
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c: At top level:
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:93:10: error: 'init_module' aliased to undefined symbol '__platform_driver_init'
/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:93:10: error: 'init_module' aliased to undefined symbol '__platform_driver_init'
make[4]: *** [/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi/iwl-trans-pcie.o] Error 1
make[3]: *** [/root/compat-wireless-2012-01-12/drivers/net/wireless/iwlwifi] Error 2
make[2]: *** [/root/compat-wireless-2012-01-12/drivers/net/wireless] Error 2
make[1]: *** [_module_/root/compat-wireless-2012-01-12] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37.6'
make: *** [modules] Error 2
That was a good idea to post your file, and indeed there is an error.
Actually it seems you have integrated both corrections: mine, and the complete one as suggested by the link I gave.
So, just remove all the block from lines 85 to 108:
include/linux/compat-3.2.h | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
Oh man, when the "make" passed the iwl-trans-pcie i was so happy... Then this:
Quote:
CC [M] /root/compat-wireless-2012-01-12/drivers/net/wireless/wl12xx/sdio.o
/root/compat-wireless-2012-01-12/drivers/net/wireless/wl12xx/sdio.c: In function 'wl12xx_sdio_power_on':
/root/compat-wireless-2012-01-12/drivers/net/wireless/wl12xx/sdio.c:126:2: error: implicit declaration of function 'pm_runtime_enabled'
make[4]: *** [/root/compat-wireless-2012-01-12/drivers/net/wireless/wl12xx/sdio.o] Error 1
make[3]: *** [/root/compat-wireless-2012-01-12/drivers/net/wireless/wl12xx] Error 2
make[2]: *** [/root/compat-wireless-2012-01-12/drivers/net/wireless] Error 2
make[1]: *** [_module_/root/compat-wireless-2012-01-12] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37.6'
make: *** [modules] Error 2
The code of sdio.c:
Quote:
static int wl12xx_sdio_power_on(struct wl12xx_sdio_glue *glue)
{
int ret;
struct sdio_func *func = dev_to_sdio_func(glue->dev);
/* If enabled, tell runtime PM not to power off the card */
if (pm_runtime_enabled(&func->dev)) {
ret = pm_runtime_get_sync(&func->dev);
if (ret < 0)
goto out;
} else {
/* Runtime PM is disabled: power up the card manually */
ret = mmc_power_restore_host(func->card->host);
if (ret < 0)
goto out;
}
sdio_claim_host(func);
sdio_enable_func(func);
out:
return ret;
}
static int wl12xx_sdio_power_off(struct wl12xx_sdio_glue *glue)
{
int ret;
struct sdio_func *func = dev_to_sdio_func(glue->dev);
sdio_disable_func(func);
sdio_release_host(func);
/* Power off the card manually, even if runtime PM is enabled. */
ret = mmc_power_save_host(func->card->host);
if (ret < 0)
return ret;
/* If enabled, let runtime PM know the card is powered off */
if (pm_runtime_enabled(&func->dev))
ret = pm_runtime_put_sync(&func->dev);
It seems that you don't have Linux headers installed.
(to answer your question, yes, this is C code)
(but for your 2nd question about the scrollbar, I have no idea. I am a newbie, like you! :-) )
Linux headers are files were all the references to Linux functions are declared.
In order to do this (I just did it yesterday too when installing my compat-wireless package) you have to run:
/lib/modules/`uname -r`/build
as specified by the linuxwireless page (search for "headers" in: http://linuxwireless.org/en/users/Download)
bash: /lib/modules/2.6.37.6-smp/build: is a directory
In the folder modules has the folder 2.6.37.6 and 2.6.37.6-smp. My kernel version is 2.6.37.6-smp.
I already installed the kernel-headers and i did again just for confirm:
+==============================================================================
| Skipping package kernel-headers-2.6.37.6_smp-x86-2 (already installed)
+=============================
OK.
Then I don't know.
My kernel is 3.0.0-14-generic and I didn't get this issue.
When looking for pm_runtime_enabled function in Google, I saw that it is defined in include/linux/pm_runtime.h.
Just need to find where it is (or should be) and why you don't have it.
Somebody else's help would be good now... because I am not an expert at all.
Ok, i'm really thankful for your help.
I found a guy in a Russian forum that has the exacly problem, i don't if find this forum too. No one solved the problem, the last post was yesterday.
/* Exponentially weighted moving average (EWMA) */
But another error shows up... I'm almost given up. But, here goes:
Quote:
CC [M] /root/compat-wireless-2012-01-12/drivers/net/wireless/rtlwifi/base.o
/root/compat-wireless-2012-01-12/drivers/net/wireless/rtlwifi/base.c:30:0: warning: "pr_fmt" redefined
include/linux/printk.h:161:0: note: this is the location of the previous definition
CC [M] /root/compat-wireless-2012-01-12/drivers/net/wireless/rtlwifi/cam.o
/root/compat-wireless-2012-01-12/drivers/net/wireless/rtlwifi/cam.c:30:0: warning: "pr_fmt" redefined
include/linux/printk.h:161:0: note: this is the location of the previous definition
CC [M] /root/compat-wireless-2012-01-12/drivers/net/wireless/rtlwifi/core.o
/root/compat-wireless-2012-01-12/drivers/net/wireless/rtlwifi/core.c:1154:1: internal compiler error: in pop_scope, at c-decl.c:1248
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[4]: *** [/root/compat-wireless-2012-01-12/drivers/net/wireless/rtlwifi/core.o] Error 1
make[3]: *** [/root/compat-wireless-2012-01-12/drivers/net/wireless/rtlwifi] Error 2
make[2]: *** [/root/compat-wireless-2012-01-12/drivers/net/wireless] Error 2
make[1]: *** [_module_/root/compat-wireless-2012-01-12] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37.6'
make: *** [modules] Error 2
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.