Over the past couple weeks, I've been working on getting the ral(4) driver updated for the 35xx chipset. Specifically version 0x3060 from an Edimax EW-7128Gn. Although the mailing list page says tech@ is not a "tech support", I was privately directed from misc@ to post in tech@. I've previously tried getting a hold of mediatek (Linux vendor code providers) and [email protected] (from ral(4) manpage, mailer daemon - failure to deliver).

I've been having trouble comparing the vendor provided code against the ral(4) driver. The hard part, is that I don't know the "correct" information for certain registers (because I have nothing to compare the 3060 eeprom against). Is there anyone else I can contact about this? or anyone running ral(4) (2860 or 3090) who would like to enable the debugging?

I've made the needed changes to /usr/src/sys/dev/pci/pcidevs, and enabled the debugging macro of ral(4)'s "sys/dev/ic/rt2860.c" driver. Here is the associated output of dmesg:

ral0 at pci4 dev 0 function 0 "Ralink RT3060" rev 0x00attaching ralink driver: apic 2 int 20EFUSE_CTRL=0x80008800
EEPROM rev=1, FAE=0
EEPROM region code=0x0001
(8x:) BBP255=0xff
(10x:) RF255=0xff
EEPROM freq offset 30
EEPROM LED mode=0x01, LEDs=0x0110/0xfad9/0x88cc
EEPROM RF rev=0x08 chains=1T1R
EEPROM CFG 0x0086
chan 1: power1=16, power2=5
chan 2: power1=17, power2=5
chan 3: power1=17, power2=5
chan 4: power1=18, power2=5
chan 5: power1=18, power2=5
chan 6: power1=19, power2=5
chan 7: power1=19, power2=5
chan 8: power1=20, power2=5
chan 9: power1=21, power2=5
chan 10: power1=21, power2=5
chan 11: power1=22, power2=5
chan 12: power1=22, power2=5
chan 13: power1=23, power2=5
chan 14: power1=24, power2=5
chan 36-161: power1=-1, power2=-1
chan 165-173: power1=0, power2=-1
chan 0: power1=0, power2=-1
power compensation=0 (2GHz), 0 (5GHz)
ridx 0: power 20MHz=0xaaaa5555, 40MHz/2GHz=0xaaaa5555, 40MHz/5GHz=0xaaaa5555
ridx 1: power 20MHz=0xaaaa6688, 40MHz/2GHz=0xaaaa6688, 40MHz/5GHz=0xaaaa6688
ridx 2: power 20MHz=0xaaaa6688, 40MHz/2GHz=0xaaaa6688, 40MHz/5GHz=0xaaaa6688
ridx 3: power 20MHz=0xaaaa6688, 40MHz/2GHz=0xaaaa6688, 40MHz/5GHz=0xaaaa6688
ridx 4: power 20MHz=0xffff6688, 40MHz/2GHz=0xffff6688, 40MHz/5GHz=0xffff6688
TSSI 2GHz: 0x22 0x19 0x16 0x13 0x10 0x0d 0x0a 0x08 0x06 step=1
TSSI 5GHz: 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff step=255
tx mixer gain=3 (2GHz)
invalid LNA for channel group 2
invalid LNA for channel group 3
, address 80:1f:02:95:57:17
ral0: MAC/BBP RT3572 (rev 0x0223), RF RT3022 (MIMO 1T1R)
...
MCU command=0x30 slot=0 status=0x01
MCU command=0x31 slot=0 status=0x01

Then a ton of "tx stat 0x####", "GP timeout state=1", and "sending frame qid=## wcid=## nsegs=## ridx=##" spamming my console

(Note, GP timeout state=1 means that the

At first I thought the 3060 used eeprom, but I'm now certain it uses efuse. Because this information is correct:
MAC Address (80:1F:02 = Edimax Brand)
MAC/BBP RT3572 (comment in vendor code states: 35xx chips all report 3572 from eeprom)
MIMO 1T1R, (3060 has 1tx ring, and 1rx ring)
(TSSI 5GHz seems to be correct, the 3060 doesn't have 5GHz support AFAIK)

Everything else I cannot prove to be correct. Furthermore, I'm fairly certain EEPROM region code=0x0001 is incorrect. Wikipedia's list of WLAN channels for the USA matches the vendor code definition of region 9. Eeprom (from 2860 code) reports region 12, which includes 3 channels not used in the USA.

I've profiled all the vendor code between 2860 and 35xx. Now I'm going to profile between 35xx and 3090. In the meantime, I was hoping to get in contact with someone who knew more about the ral(4) driver, or wireless drivers in particular.

 Thanks!
   Nathan Goings

Reply via email to