Hello,

    I have tested it on my AR5007EG. And as you said there is nothing sent
or received.
    I loaded it with debug=0x300 (Dump the Tx / Rx)




    And after the set of the IP, I see this packet dumped many times:

    phy0 TX  40 00 00 00 ff ff ff ff ff ff 00 16 44 75 ed e4
@...........Du..
    phy0 TX  ff ff ff ff ff ff 60 00 00 00 01 08 02 04 0b 16
......`.........
    phy0 TX  0c 12 18 24 32 04 30 48 60 6c                    ...$2.0H`l

    So packets are virtually sent but I'm not sure that it is done
physically (nothing given by packet monitoring and null stats with
ifconfig).

    The DMA start function is called but nothing happen. I compared the
register I/O actions done by the hal from madwifi (ah_startTxDma) with the
code of ath5k (ath5k_hw_start_rx) and there is no relevant difference.

    You said the problem could come from the wake_up of the chip so I made a
comparison between ath5k_hw_set_power() and ah_setPowerMode() from atheros
hal.
    I saw some differences when these functions perform IO on registers.
    When the code of the atheros hal does only modifiy a bit, the code from
ath5k destroy the whole content of AR5K_SLEEP_CTL with 0.

    For example on ath5k_hw_set_power() on the AWAKE statement, the function
awakes the card by performing this:
    ath5k_hw_reg_write(ah, AR5K_SLEEP_CTL_SLE_WAKE,  AR5K_SLEEP_CTL);

    On the other side, ah_setPowerMode() performs this:
    unsigned int val = ath5k_hw_reg_read(ah, AR5K_SLEEP_CTL);
    ath5k_hw_reg_write(ah, val & 0xfffcffff, AR5K_SLEEP_CTL);

    Here three bits are set to zero while the ath5k version set all of this
register to zero. There is a similar thing with sleeping mode...

    I don't know if the other bits are useful but actually I tested with
this new code and it changed nothing. I really don't know where is the bug.
Perhaps the attach function forget some intializations...

    I will try to become familiar with MmIoTrace to bring some light on
this...

    2008/4/13 Pavel Roskin <[EMAIL PROTECTED]>:

        On Sun, 2008-04-13 at 01:04 +0300, Nick Kossifidis wrote:
        > 2008/3/30, Nick Kossifidis <[EMAIL PROTECTED]>:
        > > Hello ppl,
        > >
        > >  I've put up a tarball with some work on 2425, can you plz test
it and
        > >  let me know how it goes ?
        > >
        > >
http://www.kernel.org/pub/linux/kernel/people/mickflemm/ath5k-2425-test2.tar.bz2
        > >
        > >  There's a good chance i missed something but it's a start (i've
put
        > >  inside the initial values and rf registers etc + some stuff on
attach
        > >  function).
        > >
        >
        > Another try...
        >
        >
http://www.kernel.org/pub/linux/kernel/people/mickflemm/ath5k-2425-test3.tar.bz2

        The same thing as before.  The driver loads and unloads properly,
but
        sends or receives nothing.  Checked in monitor mode and by scanning
and
        monitoring on another interface.

        When scanning in ad-hoc mode, I get several messages for every scan,
        which look like this:

        ath5k phy0: bf=ffff81004fa3e180 bf_skb=0000000000000000

        It must be from ath5k_beacon_send().  It's interesting that I only
get
        it during scanning and only in ad-hoc mode.  Still, there is nothing
on
        the air.

        I'm attaching kernel log with all debugging enabled.  What I did
was:

        insmod ./ath5k.ko debug=0xffffffff
        ifconfig wlan1 up
        iwlist wlan1 scan
        ifconfig wlan1 down
        rmmod ath5k

        --
        Regards,
        Pavel Roskin
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to