Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Sep 2011 21:51:40 +0800
From:      Tz-Huan Huang <tzhuan@gmail.com>
To:        Bernhard Schmidt <bschmidt@freebsd.org>
Cc:        Kevin Lo <kevlo@freebsd.org>, freebsd-current@freebsd.org
Subject:   Re: "Intel Centrino Advanced-N + WiMAX 6250" doesn't work
Message-ID:  <CANSeK7yU_jfSn8Z3=cHgn756jo1FZCr4z3aq6kYfpaMHB5dz4w@mail.gmail.com>
In-Reply-To: <CAAgh0_bL7K3PZVAZxPV8JwdhnopOvdRp0Z%2BxHU-CfGba5bz1Kw@mail.gmail.com>
References:  <CANSeK7wEK33PPTM4Qk3LXoHF%2B1MebyCGeZgCWodeqetx-mP%2BiA@mail.gmail.com> <1315390225.3285.5.camel@esl.kevlo.org.kevlo.org> <CAAgh0_bOYfpxVu9xYX4ZoYtNajBtLH=Od8700dcg9jahVxshZQ@mail.gmail.com> <CANSeK7y1DGjWMDJPBYCjPuMfUhu_ALvbAeLT9hR1eBzs8tk3%2BA@mail.gmail.com> <CAAgh0_bL7K3PZVAZxPV8JwdhnopOvdRp0Z%2BxHU-CfGba5bz1Kw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 7, 2011 at 21:30, Bernhard Schmidt <bschmidt@freebsd.org> wrote=
:
> On Wed, Sep 7, 2011 at 15:11, Tz-Huan Huang <tzhuan@gmail.com> wrote:
>> On Wed, Sep 7, 2011 at 20:34, Bernhard Schmidt <bschmidt@freebsd.org> wr=
ote:
>>> On Wed, Sep 7, 2011 at 12:10, Kevin Lo <kevlo@freebsd.org> wrote:
>>>>
>>>> Please try attached patch. It seems like OpenBSD added support
>>>> for 6205, but I'm not sure if it works for 6250.
>>
>> Okay, I am re-building the kernel now,
>> will report here if any news.
>>
>>> Worth a try, but I don't think it will make a difference. I had that
>>> code once (it should even be visible on the svn history) but removed
>>> it because it isn't required, the 6005 series devices work very well
>>> without it (I'm using a 6230 (6000g2b) daily) without issues. What is
>>> import though is which calibration results are sent to the runtime
>>> firmware, I suspect there might be an issue in
>>> iwn5000_rx_calib_results() around IWN5000_PHY_CALIB_DC.
>>>
>>> I remember that someone reported the 6250 devices working once, it
>>> might be worth going over the last revisions (there where some
>>> calibration related changes) and figure out which one broke it.
>>
>> Yes, this device works fine according to this post:
>> http://forums.freebsd.org/showthread.php?t=3D19839
>>
>> I have scanned the source but it seems that the iwn sources changed a lo=
t...
>
> Yeah, thanks, I start to remember..
>
> Seems like I broke 6250 support by adding support for 6005. Point is,
> the DC calibration result generated by the init firmware is too large
> (saving calibration result code=3D8 len=3D3964, compare with other
> results..) to pass over to the runtime firmware, this is where it
> chokes. The solution is to not bother about it at all and let the
> runtime firmware do the calibration again, so no need to send
> anything. Basically, Kevin's patch is correct, it should also just
> remove handling of PHY_CALIB_DC in iwn5000_rx_calib_results(), ideally
> for all >=3D 6000 devices.
>
> Can you try this in addition to Kevin's patch?

It works! Thank you all so much! :-)

Tz-Huan

> Index: if_iwn.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- if_iwn.c =C2=A0 =C2=A0(revision 225188)
> +++ if_iwn.c =C2=A0 =C2=A0(working copy)
> @@ -2502,9 +2502,7 @@ iwn5000_rx_calib_results(struct iwn_softc *sc, str
>
> =C2=A0 =C2=A0 =C2=A0 =C2=A0switch (calib->code) {
> =C2=A0 =C2=A0 =C2=A0 =C2=A0case IWN5000_PHY_CALIB_DC:
> - =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if ((sc->sc_flags & IW=
N_FLAG_INTERNAL_PA) =3D=3D 0 &&
> - =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (sc->hw_=
type =3D=3D IWN_HW_REV_TYPE_5150 ||
> - =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sc=
->hw_type >=3D IWN_HW_REV_TYPE_6000))
> + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (sc->hw_type =3D=3D=
 IWN_HW_REV_TYPE_5150)
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0idx =3D 0;
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0break;
> =C2=A0 =C2=A0 =C2=A0 =C2=A0case IWN5000_PHY_CALIB_LO:
>
> Thanks
>
> --
> Bernhard
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANSeK7yU_jfSn8Z3=cHgn756jo1FZCr4z3aq6kYfpaMHB5dz4w>