Search Linux Wireless

Re: zd1211rw on ppc (iBook G4) -- Solved, somewhat)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Sep 13, 2009 at 8:41 PM, Hin-Tak Leung <hintak.leung@xxxxxxxxx> wrote:
> On Sun, Sep 13, 2009 at 11:13 AM, Hin-Tak Leung <hintak.leung@xxxxxxxxx> wrote:
>> On Sat, Sep 12, 2009 at 11:43 PM, Leonardo H. Souza Hamada
>> <leonardo.hamada@xxxxxxxxxxx> wrote:
>>> Hi all,
>>>
>>> At this moment, after tweaking the zd1211rw code in kernel
>>> 2.6.31-gentoo, finally I am able to use the WLI-U2-KG54L wireless usb
>>> dongle on this old ibook.
>>>
>>> Browsing the source with a cross referencing tool
>>> (http://lxr.free-electrons.com) and making additional checking points, I
>>> could trace the issue as follow.
>>>
>>> The problem is that this device returns a regulatory region of 0x49,
>>> which is not defined in the zd1211rw tables. So the call
>>>
>>> r <http://lxr.free-electrons.com/ident?i=r> = zd_reg2alpha2 <http://lxr.free-electrons.com/ident?i=zd_reg2alpha2>(mac <http://lxr.free-electrons.com/ident?i=mac>->regdomain, alpha2);
>>>
>>> will fail the initialization process.
>>>
>>>
>>> Workaround:
>>>
>>> ----snip----
>>> int zd_mac_init_hw(struct ieee80211_hw *hw)
>>> {
>>> ...
>>>        r = zd_read_regdomain(chip, &default_regdomain);
>>>        /* A unknown regulatory of 0x49 will be set default to
>>> ZD_REGDOMAIN_FCC. */
>>>        if (0x49 == default_regdomain)
>>>                default_regdomain = ZD_REGDOMAIN_FCC;
>>> ...
>>> ----snip----
>>>
>>> The above code will force the default regulatry to be FCC code for this
>>> case. I think that this was the case in previous zd1211rw driver. What
>>> is the country code for 0x49 region? There is a better way?
>>>
>>>
>>> Thanks all,
>>>
>>> Phew!! Leonardo
>>
>> The vendor driver has quite a lot more regdomain code defined, and
>> 0x49 is apparently
>>
>> ZD_Region_Japan_3           = 0x49,//G channel->ch1-13; A channel->8~16,34~46;
>>
>> the rw driver code probably should set it to most restrictive than let
>> it fail...
>>
>
> Can you give this patch a try against a recent
> wireless-testing/compat-wireless? I think this is the correct way to
> do things.
>
> Here is the content of the patch for others who doesn't like
> attachments - it just sets 0x49 as Japan.
> ==============================
> diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c
> b/drivers/net/wireless/zd1211rw/zd_mac.c
> index 6d66635..b0d32c4 100644
> --- a/drivers/net/wireless/zd1211rw/zd_mac.c
> +++ b/drivers/net/wireless/zd1211rw/zd_mac.c
> @@ -42,6 +42,7 @@ static struct zd_reg_alpha2_map reg_alpha2_map[] = {
>        { ZD_REGDOMAIN_ETSI, "DE" }, /* Generic ETSI, use most restrictive */
>        { ZD_REGDOMAIN_JAPAN, "JP" },
>        { ZD_REGDOMAIN_JAPAN_ADD, "JP" },
> +       { ZD_REGDOMAIN_JAPAN_3, "JP" },
>        { ZD_REGDOMAIN_SPAIN, "ES" },
>        { ZD_REGDOMAIN_FRANCE, "FR" },
>  };
> diff --git a/drivers/net/wireless/zd1211rw/zd_mac.h
> b/drivers/net/wireless/zd1211rw/zd_mac.h
> index 7c27591..9701935 100644
> --- a/drivers/net/wireless/zd1211rw/zd_mac.h
> +++ b/drivers/net/wireless/zd1211rw/zd_mac.h
> @@ -193,6 +193,7 @@ struct zd_mac {
>  #define ZD_REGDOMAIN_FRANCE    0x32
>  #define ZD_REGDOMAIN_JAPAN_ADD 0x40
>  #define ZD_REGDOMAIN_JAPAN     0x41
> +#define ZD_REGDOMAIN_JAPAN_3   0x49

FWIW, this does seem right.

  Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux