* (no subject) @ 2012-11-14 10:21 Felipe López 2012-11-14 18:27 ` Pat Erley 0 siblings, 1 reply; 4+ messages in thread From: Felipe López @ 2012-11-14 10:21 UTC (permalink / raw) To: backports Hello guys, I am Felipe López and I am working with an TL-WN722N that comes with a AR9271 chipset. I got it to work in my PC some time ago but now I am trying to install it in a ARM CPU. I selected the driver I need (./scripts/driver-select ath9k) and I cross-compiled it against the kernel 2.6.30. I think that everything is OK up to here. I get the following *.ko files: ./drivers/net/wireless/ath/ ath.ko ./drivers/net/wireless/ath/ath9k/ath9k.ko ./drivers/net/wireless/ath/ath9k/ath9k_common.ko ./drivers/net/wireless/ath/ath9k/ath9k_htc.ko ./drivers/net/wireless/ath/ath9k/ath9k_hw.ko ./net/mac80211/mac80211.ko ./net/rfkill/rfkill_backport.ko ./net/wireless/cfg80211.ko ./compat/sch_codel.ko ./compat/sch_fq_codel.ko ./compat/compat.ko ./compat/compat_firmware_class.ko The first thing I do not know is in which order I should do the insmod. I suppose that compat.ko should be the first but then comes the second problem. This is what the board throws when I do the insmod of compat.ko: compat: Unknown symbol cpufreq_cpu_put I googled for that sentence and I found that that function is used in kernels >= 2.6.31 so maybe I should use an older version of compat-wireless. What version of compat-wireless is the best for the kernel 2.6.30? The only I can imagine I can solve the last problem by myself is trial-error. Many thanks in advance Felipe López ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 2012-11-14 10:21 Felipe López @ 2012-11-14 18:27 ` Pat Erley 2012-11-17 14:07 ` Re: Hauke Mehrtens 0 siblings, 1 reply; 4+ messages in thread From: Pat Erley @ 2012-11-14 18:27 UTC (permalink / raw) To: Felipe López; +Cc: backports On 11/14/2012 05:21 AM, Felipe López wrote: > Hello guys, > > > I am Felipe López and I am working with an TL-WN722N that comes with a > AR9271 chipset. I got it to work in my PC some time ago but now I am > trying to install it in a ARM CPU. > > I selected the driver I need (./scripts/driver-select ath9k) and I > cross-compiled it against the kernel 2.6.30. I think that everything > is OK up to here. I get the following *.ko files: > > ./drivers/net/wireless/ath/ > ath.ko > ./drivers/net/wireless/ath/ath9k/ath9k.ko > ./drivers/net/wireless/ath/ath9k/ath9k_common.ko > ./drivers/net/wireless/ath/ath9k/ath9k_htc.ko > ./drivers/net/wireless/ath/ath9k/ath9k_hw.ko > ./net/mac80211/mac80211.ko > ./net/rfkill/rfkill_backport.ko > ./net/wireless/cfg80211.ko > ./compat/sch_codel.ko > ./compat/sch_fq_codel.ko > ./compat/compat.ko > ./compat/compat_firmware_class.ko > > The first thing I do not know is in which order I should do the > insmod. I suppose that compat.ko should be the first but then comes > the second problem. This is what the board throws when I do the insmod > of compat.ko: > > compat: Unknown symbol cpufreq_cpu_put > > > I googled for that sentence and I found that that function is used in > kernels >= 2.6.31 so maybe I should use an older version of > compat-wireless. What version of compat-wireless is the best for the > kernel 2.6.30? The only I can imagine I can solve the last problem by > myself is trial-error. > > > Many thanks in advance > > > Felipe López You can find the order using the 'modinfo' command (if you're manually loading all of the modules) like this: $ modinfo ./compat/compat.ko | grep depends depends: However, it does look like cpufreq_cpu_put may be a separate issue. Did you compile your arm CPU with cpufreq support? This may work as a temporary solution, as looking in the 2.6.30 source shows that function is exported. Pat Erley ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 2012-11-14 18:27 ` Pat Erley @ 2012-11-17 14:07 ` Hauke Mehrtens 2012-11-19 15:24 ` Re: Felipe López 0 siblings, 1 reply; 4+ messages in thread From: Hauke Mehrtens @ 2012-11-17 14:07 UTC (permalink / raw) To: Pat Erley; +Cc: Felipe López, backports [-- Attachment #1: Type: text/plain, Size: 2088 bytes --] On 11/14/2012 07:27 PM, Pat Erley wrote: > On 11/14/2012 05:21 AM, Felipe López wrote: >> Hello guys, >> >> >> I am Felipe López and I am working with an TL-WN722N that comes with a >> AR9271 chipset. I got it to work in my PC some time ago but now I am >> trying to install it in a ARM CPU. >> >> I selected the driver I need (./scripts/driver-select ath9k) and I >> cross-compiled it against the kernel 2.6.30. I think that everything >> is OK up to here. I get the following *.ko files: >> >> ./drivers/net/wireless/ath/ >> ath.ko >> ./drivers/net/wireless/ath/ath9k/ath9k.ko >> ./drivers/net/wireless/ath/ath9k/ath9k_common.ko >> ./drivers/net/wireless/ath/ath9k/ath9k_htc.ko >> ./drivers/net/wireless/ath/ath9k/ath9k_hw.ko >> ./net/mac80211/mac80211.ko >> ./net/rfkill/rfkill_backport.ko >> ./net/wireless/cfg80211.ko >> ./compat/sch_codel.ko >> ./compat/sch_fq_codel.ko >> ./compat/compat.ko >> ./compat/compat_firmware_class.ko >> >> The first thing I do not know is in which order I should do the >> insmod. I suppose that compat.ko should be the first but then comes >> the second problem. This is what the board throws when I do the insmod >> of compat.ko: >> >> compat: Unknown symbol cpufreq_cpu_put >> >> >> I googled for that sentence and I found that that function is used in >> kernels >= 2.6.31 so maybe I should use an older version of >> compat-wireless. What version of compat-wireless is the best for the >> kernel 2.6.30? The only I can imagine I can solve the last problem by >> myself is trial-error. >> >> >> Many thanks in advance >> >> >> Felipe López > > You can find the order using the 'modinfo' command (if you're manually > loading all of the modules) like this: > > $ modinfo ./compat/compat.ko | grep depends > depends: > > However, it does look like cpufreq_cpu_put may be a separate issue. Did > you compile your arm CPU with cpufreq support? This may work as a > temporary solution, as looking in the 2.6.30 source shows that function > is exported. > > Pat Erley Hi Felipe, could you try the attached patch, if it fixes your problem. Hauke [-- Attachment #2: 0001-compat-make-compat-load-without-CONFIG_CPU_FREQ.patch --] [-- Type: text/x-patch, Size: 1832 bytes --] >From 3ae967cde2c00d5f1f54e9c41cb50c670047498f Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens <hauke@hauke-m.de> Date: Sat, 17 Nov 2012 15:03:25 +0100 Subject: [PATCH] compat: make compat load without CONFIG_CPU_FREQ If the kernel was compiled without CONFIG_CPU_FREQ cpufreq_cpu_put() is not available, this is the case for some ARM kernels. In this case do not add the backport function compat_cpufreq_quick_get_max to compat.ko. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- compat/compat-3.1.c | 4 ++-- include/linux/compat-3.1.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/compat/compat-3.1.c b/compat/compat-3.1.c index 03735f6..354a8a3 100644 --- a/compat/compat-3.1.c +++ b/compat/compat-3.1.c @@ -18,7 +18,7 @@ * * cpufreq: expose a cpufreq_quick_get_max routine */ - +#ifdef CONFIG_CPU_FREQ unsigned int compat_cpufreq_quick_get_max(unsigned int cpu) { struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); @@ -32,7 +32,7 @@ unsigned int compat_cpufreq_quick_get_max(unsigned int cpu) return ret_freq; } EXPORT_SYMBOL(compat_cpufreq_quick_get_max); - +#endif static DEFINE_SPINLOCK(compat_simple_ida_lock); diff --git a/include/linux/compat-3.1.h b/include/linux/compat-3.1.h index dfd87a3..fc05245 100644 --- a/include/linux/compat-3.1.h +++ b/include/linux/compat-3.1.h @@ -111,10 +111,12 @@ int ida_simple_get(struct ida *ida, unsigned int start, unsigned int end, void ida_simple_remove(struct ida *ida, unsigned int id); +#ifdef CONFIG_CPU_FREQ /* mask cpufreq_quick_get_max as RHEL6 backports this */ #define cpufreq_quick_get_max(a) compat_cpufreq_quick_get_max(a) unsigned int cpufreq_quick_get_max(unsigned int cpu); +#endif #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) */ #endif /* LINUX_3_1_COMPAT_H */ -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: 2012-11-17 14:07 ` Re: Hauke Mehrtens @ 2012-11-19 15:24 ` Felipe López 0 siblings, 0 replies; 4+ messages in thread From: Felipe López @ 2012-11-19 15:24 UTC (permalink / raw) To: Hauke Mehrtens; +Cc: Pat Erley, backports Hi guys, I already solved that problem. Using an older version of compat-wireless I solved the problem related to cpufreq support and I load the modules in the following order: compat.ko compat_firmware_class.ko rfkill_backport.ko cfg80211.ko mac80211.ko ath.ko ath9k_hw.ko ath9k_common.ko ath9k.ko ath9k_htc.ko However, when I plug the WiFi module, the kernel says that it can not find the firmware file. Below is what he says: usb 1-1.3: new full speed USB device using at91_ohci and address 4 usb 1-1.3: configuration #1 chosen from 1 choice usb 1-1.3: ath9k_htc: Firmware - htc_9271.fw not found ath9k_htc: probe of 1-1.3:1.0 failed with error -22 I configured the kernel to look for firmware files under /lib/firmware/ but still not working, it always says that it cannot find the firmware file. I do not know whether the problem is in the .config file before compiling the kernel or in the filesystem. I am a bit lost because I do not know in what direction I should go. I have to mention that I am using an old version of busybox that does not have depmod or lsusb that would help me a lot. Configuring a new busybox would take me a long time... Any idea of what to do? Many thanks again for keeping helping me Best Regards Felipe Lopez 2012/11/17 Hauke Mehrtens <hauke@hauke-m.de>: > On 11/14/2012 07:27 PM, Pat Erley wrote: >> On 11/14/2012 05:21 AM, Felipe López wrote: >>> Hello guys, >>> >>> >>> I am Felipe López and I am working with an TL-WN722N that comes with a >>> AR9271 chipset. I got it to work in my PC some time ago but now I am >>> trying to install it in a ARM CPU. >>> >>> I selected the driver I need (./scripts/driver-select ath9k) and I >>> cross-compiled it against the kernel 2.6.30. I think that everything >>> is OK up to here. I get the following *.ko files: >>> >>> ./drivers/net/wireless/ath/ >>> ath.ko >>> ./drivers/net/wireless/ath/ath9k/ath9k.ko >>> ./drivers/net/wireless/ath/ath9k/ath9k_common.ko >>> ./drivers/net/wireless/ath/ath9k/ath9k_htc.ko >>> ./drivers/net/wireless/ath/ath9k/ath9k_hw.ko >>> ./net/mac80211/mac80211.ko >>> ./net/rfkill/rfkill_backport.ko >>> ./net/wireless/cfg80211.ko >>> ./compat/sch_codel.ko >>> ./compat/sch_fq_codel.ko >>> ./compat/compat.ko >>> ./compat/compat_firmware_class.ko >>> >>> The first thing I do not know is in which order I should do the >>> insmod. I suppose that compat.ko should be the first but then comes >>> the second problem. This is what the board throws when I do the insmod >>> of compat.ko: >>> >>> compat: Unknown symbol cpufreq_cpu_put >>> >>> >>> I googled for that sentence and I found that that function is used in >>> kernels >= 2.6.31 so maybe I should use an older version of >>> compat-wireless. What version of compat-wireless is the best for the >>> kernel 2.6.30? The only I can imagine I can solve the last problem by >>> myself is trial-error. >>> >>> >>> Many thanks in advance >>> >>> >>> Felipe López >> >> You can find the order using the 'modinfo' command (if you're manually >> loading all of the modules) like this: >> >> $ modinfo ./compat/compat.ko | grep depends >> depends: >> >> However, it does look like cpufreq_cpu_put may be a separate issue. Did >> you compile your arm CPU with cpufreq support? This may work as a >> temporary solution, as looking in the 2.6.30 source shows that function >> is exported. >> >> Pat Erley > > Hi Felipe, > > could you try the attached patch, if it fixes your problem. > > Hauke > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-11-19 15:24 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-11-14 10:21 Felipe López 2012-11-14 18:27 ` Pat Erley 2012-11-17 14:07 ` Re: Hauke Mehrtens 2012-11-19 15:24 ` Re: Felipe López
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.