* [ath9k-devel] Newbie: Need help with modifications, errors loading ath9k
@ 2009-07-23 22:42 Rakesh Kumar
2009-07-23 22:54 ` Luis R. Rodriguez
0 siblings, 1 reply; 2+ messages in thread
From: Rakesh Kumar @ 2009-07-23 22:42 UTC (permalink / raw)
To: ath9k-devel
Hi,
I made a few small changes in nl80211.c (cfg80211) and cfg.c (mac80211) for
supporting explicit rate setting (say if the user wants to set a fixed rate
and avoid usage of rate control algo). Anyway, I compiled everything and can
load both cfg80211 and mac80211 but when it comes to loading ath9k, I get an
error message on the command line saying:
*rakesh at pineapple:~/compat-wireless-2.6.30$ sudo insmod
./drivers/net/wireless/ath9k/ath9k.ko
insmod: error inserting './drivers/net/wireless/ath9k/ath9k.ko': -1 Unknown
symbol in module*
and the syslog reads:
*Jul 23 17:30:41 pineapple kernel: [ 4486.158281] ath9k: Unknown symbol
rfkill_force_state
Jul 23 17:30:41 pineapple kernel: [ 4486.158486] ath9k: Unknown symbol
rfkill_unregister
Jul 23 17:30:41 pineapple kernel: [ 4486.159220] ath9k: Unknown symbol
led_classdev_unregister
Jul 23 17:30:41 pineapple kernel: [ 4486.161183] ath9k: Unknown symbol
rfkill_free
Jul 23 17:30:41 pineapple kernel: [ 4486.161619] ath9k: Unknown symbol
rfkill_allocate
Jul 23 17:30:41 pineapple kernel: [ 4486.161817] ath9k: Unknown symbol
rfkill_register
Jul 23 17:30:41 pineapple kernel: [ 4486.162403] ath9k: Unknown symbol
led_classdev_register*
Can somebody help as to what might be causing this problem, I did not touch
the ath9k code at all. I tried to grep these symbol names in the code but do
not finy clue except them being called in main.c of ath9k.
For the record, I *made following changes in nl80211.c:*
*diff compat-wireless-2.6.30/net/wireless/nl80211.c
compat-wireless-2.6.30_fresh/net/wireless/nl80211.c*
63a64
>
65,66d65
< //Rakesh:
< [NL80211_ATTR_IFRATE] = { .type = NLA_U32 },
482a482
>
695,731d694
< //Rakesh:
< static int nl80211_set_rate(struct sk_buff *skb, struct genl_info *info)
< {
< struct cfg80211_registered_device *drv;
< int err, ifindex;
< unsigned int rate;
<
< struct net_device *dev;
< bool change = false;
<
< rtnl_lock();
<
< err = get_drv_dev_by_info_ifindex(info->attrs, &drv, &dev);
< if (err)
< goto unlock_rtnl;
<
< ifindex = dev->ifindex;
<
< dev_put(dev);
<
< if (info->attrs[NL80211_ATTR_IFRATE]) {
< rate = nla_get_u32(info->attrs[NL80211_ATTR_IFTYPE]);
< change = true;
< }
<
< if (change)
< err = drv->ops->change_intf_rate(&drv->wiphy, ifindex,
< rate);
< else
< err = 0;
< unlock:
< cfg80211_put_dev(drv);
< unlock_rtnl:
< rtnl_unlock();
< return err;
< }
<
3055,3061d3017
< //Rakesh:
< {
< .cmd = NL80211_CMD_SET_RATE,
< .doit = nl80211_set_rate,
< .policy = nl80211_policy,
< .flags = GENL_ADMIN_PERM,
< },
*and following changes in cfg.c*
diff compat-wireless-2.6.30/net/mac80211/cfg.c
compat-wireless-2.6.30_fresh/net/mac80211/cfg.c
113,132d112
< static int ieee80211_change_rate(struct wiphy *wiphy, int ifindex,
< unsigned int rate)
< {
< struct net_device *dev;
< struct ieee80211_sub_if_data *sdata;
< int ret;
<
< /* we're under RTNL */
< dev = __dev_get_by_index(&init_net, ifindex);
< if (!dev)
< return -ENODEV;
<
< sdata = IEEE80211_DEV_TO_SUB_IF(dev);
<
< sdata->force_unicast_rateidx = rate;
< return 0;
< }
<
<
<
1313,1314d1292
< //Rakesh
< .change_intf_rate = ieee80211_change_rate,
*And following changes in cfg80211.h*
rakesh@pineapple:~$ diff compat-wireless-2.6.30/include/net/
compat-wireless-2.6.30_fresh/include/net/
diff compat-wireless-2.6.30/include/net/cfg80211.h
compat-wireless-2.6.30_fresh/include/net/cfg80211.h
749,752c749
< //Rakesh:
< int (*change_intf_rate)(struct wiphy *wiphy, int ifindex,
< unsigned int type);
<
---
>
*And following changes in nl80211.h*
rakesh at pineapple:~$ diff compat-wireless-2.6.30/include/linux/nl80211.h
compat-wireless-2.6.30_fresh/include/linux/nl80211.h
218,219d217
< //Rakesh:
< NL80211_CMD_SET_RATE,
426,427d423
< //Rakesh:
< NL80211_ATTR_IFRATE,
--
Rakesh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20090723/412fcbc0/attachment.htm
^ permalink raw reply [flat|nested] 2+ messages in thread
* [ath9k-devel] Newbie: Need help with modifications, errors loading ath9k
2009-07-23 22:42 [ath9k-devel] Newbie: Need help with modifications, errors loading ath9k Rakesh Kumar
@ 2009-07-23 22:54 ` Luis R. Rodriguez
0 siblings, 0 replies; 2+ messages in thread
From: Luis R. Rodriguez @ 2009-07-23 22:54 UTC (permalink / raw)
To: ath9k-devel
On Thu, Jul 23, 2009 at 03:42:55PM -0700, Rakesh Kumar wrote:
> Hi,
>
> I made a few small changes in nl80211.c (cfg80211) and cfg.c (mac80211) for supporting explicit rate setting (say if the user wants to set a fixed rate and avoid usage of rate control algo). Anyway, I compiled everything and can load both cfg80211 and mac80211 but when it comes to loading ath9k, I get an error message on the command line saying:
>
> rakesh at pineapple:~/compat-wireless-2.6.30$ sudo insmod ./drivers/net/wireless/ath9k/ath9k.ko
> insmod: error inserting './drivers/net/wireless/ath9k/ath9k.ko': -1 Unknown symbol in module
Try http://www.orbit-lab.org/kernel/compat-wireless-2.6-stable/v2.6.31/compat-wireless-2.6.31-rc4.tar.bz2
Luis
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-07-23 22:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-23 22:42 [ath9k-devel] Newbie: Need help with modifications, errors loading ath9k Rakesh Kumar
2009-07-23 22:54 ` Luis R. Rodriguez
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.