Mt7615 wifi driver testing

have my image now up and running

the reason is ?

mt7615_add_interface and mt7615_mcu_set_dev_info seems not to be called

this should be called, the funciton is used to add interface (ifconfig wlan0)

So can you see AP-STA-CONNECTED now?

ok, they get called when try to bring the interface up…not at boottime

[  862.311122] DEBUG: Passed mt7615_add_interface 69                                                                                              
[  862.319666] DEBUG: Passed mt7615_add_interface 76                                                                                              
[  862.325457] DEBUG: Passed mt7615_add_interface 83                                                                                              
[  862.330584] DEBUG: Passed mt7615_mcu_set_dev_info 685                                                                                          
[  862.336083] DEBUG: Passed mt7615_mcu_set_dev_info 691                                                                                          
[  862.341534] DEBUG: Passed __mt7615_mcu_set_dev_info 649                                                                                        
[  862.349177] DEBUG: Passed __mt7615_mcu_set_dev_info 652                                                                                        
[  862.354790] DEBUG: Passed __mt7615_mcu_set_dev_info 654                                                                                        
[  862.360382] DEBUG: Passed __mt7615_mcu_set_dev_info 662                                                                                        
[  862.366078] DEBUG: Passed mt7615_add_interface 89 ret:0                                                                                        
[  862.371490] DEBUG: Passed mt7615_add_interface 93                                                                                              
[  862.376446] DEBUG: Passed mt7615_add_interface 99                                                                                              
[  862.381400] DEBUG: Passed mt7615_add_interface 103                                                                                             
[  862.386444] DEBUG: Passed mt7615_add_interface 105

So what is the current progress?

Can you ping to sta now or test it through iperf now? but i still think your efuse is not completed, we need those RF parameter.

i cannot bring wlan0 up and hostapd needs interface up

i rewrite my card with my image because i had strange things with jacks image (syslog cannot be deleted and shows old entries)

in my image i also needed a udev-rule to get rid of the “new” interface-naming:

/etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", DRIVERS=="mt7615e", NAME="wlan0"

eep-array looks right?

I have no idea. I will find a card with empty efuse to test again.

eep-array looks right?

No

eeprom.txt (5.2 KB)

or @frank-w you can try to copy the content to data[off], where off starting from 52

you mean assign your values to data[off - MT_EE_NIC_CONF_0].val?

any way to write directly to eeprom and set these values?

yes. since your eeprom is almost empty you can assign my values if you want.

I don’t know the way to write directly to eeprom maybe bpiteam know it.

But i’m not sure if this could work or not as every card has its own value

seems not working :frowning: imho the card needs some of this data for bootup @jackzeng, can i write eeprom of mt7615-card? mt7615_eep.txt (130,2 KB)

this is how i did it:

drivers/net/wireless/mediatek/mt76_new/mt7615/mcu.c

 547     const char eepdata[] = { //from 52
 548         68,0,0,96,1,1,0,0,
 549         0,0,0,0,0,0,68,0,
 550         4,0,0,0,0,0,0,0,
 551         0,0,224,1,32,32,0,179,
 552         64,182,64,196,35,128,129,128,
 553         192,195,35,130,129,129,192,196,
 554         35,129,128,128,64,196,35,128,
 555         129,128,64,197,32,196,128,192,
 556         196,32,128,128,192,195,32,128,
 557         128,64,195,32,128,128,64,194,
 558         32,128,128,64,194,32,128,128,
 559         64,194,32,128,128,192,194,32,
 560         128,128,64,195,32,128,128,64,
 561         195,32,128,128,64,195,32,128,
 562         128,192,194,32,128,128,64,194,
 563         32,128,128,192,193,32,128,128,
 564         64,193,32,128,128,192,192,32,
 565         128,128,198,198,196,196,196,0,
 566         0,194,0,194,193,129,129,129,
 567         133,194,194,0,130,130,130,129,
 568         0,197,197,197,0,0,195,0,
 569         195,195,130,130,130,131,132,195,
 570         195,195,130,130,130,0,0,130,
 571         130,0,0,0,133,0,0,0,
 572         180,0,194,135
 573      };
 574
 575     skb = mt7615_mcu_msg_alloc(NULL, size + sizeof(req_hdr));
 576     memcpy(skb_put(skb, sizeof(req_hdr)), &req_hdr, sizeof(req_hdr));
 577     data = (struct req_data *)skb_put(skb, size);
 578     memset(data, 0, size);
 579
 580     for (off = MT_EE_NIC_CONF_0; off < __MT_EE_MAX; off++)
 581     {
 582         if (off>=52 && off<=247) eep[off]=eepdata[off-52];
 583         printk(KERN_ALERT "DEBUG: Passed %s %d eep[%d]:%d\n",__FUNCTION__,__LINE__,off,eep[off]);
 584
 585         data[off - MT_EE_NIC_CONF_0].val = eep[off];
 586     }
 587     return mt7615_mcu_msg_send(dev, skb, MCU_EXT_CMD_EFUSE_BUFFER_MODE,

https://github.com/Nossiac/mtk-openwrt-feeds/issues/55 here a eeprom-file is dumped in openwrt from a /proc/mtd device (i have none, but maybe a kernel-option is missing), i found MT7615E1_EEPROM.bin (1 KB)

openwrt 5ghz

channel=36
hw_mode=a
ieee80211n=1

Capture

3 Likes

R2 VHT40 1*nss

hw_mode=a
channel=36
ieee80211n=1
ieee80211ac=1
require_ht=1
require_vht=1

image

minstrel rate control :

image image

tried my mt7615-card on bpi-r2, but it is not visible in lspci…used same cable as it is recognized on r64…very strange,

also my mt7612 is not recognized through cable (works without)

is possible, that r2 gives too less power on pci-bus for using with extender-cable?

R2 VHT80

interface=wlp1s0
driver=nl80211
ssid=126test
hw_mode=a
channel=36
ieee80211n=1
ieee80211ac=1
require_ht=1
require_vht=1
vht_capab=[SHORT-GI-80][RXLDPC]
ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40][LDPC]
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=42
country_code=US

%E6%93%B7%E5%8F%96

minstrel rate control rc_stat image

20190303 update

vht80 2*nss

%E6%93%B7%E5%8F%96

2 Likes

IxChariot test:

Bidirectional: image001

RX: image002

TX (need to fix drop issue): image003

I’ve posted the v1 to mainline. The driver fully supports AP, station and monitor mode. https://patchwork.kernel.org/project/linux-mediatek/list/?series=97035 https://patchwork.kernel.org/project/linux-mediatek/list/?series=97041

2 Likes

The host driver has been applied to mainline.

Also add support for mtd eeprom parsing - https://patchwork.kernel.org/patch/10947385/

i test that driver, and when encryption is enabled, the speed drops almost 10 times

Thanks. will fix it.

Ryder Lee posted a fix: https://patchwork.kernel.org/patch/10970253/

Maybe you need part 1/2 too

MT7615 module have support BPI-R2, BPI-R64, and We have tested the parametric performance of module 7615 in the laboratory.To achieve the optimal

BPI-R64+MT7615 test wifi function with openwrt

http://wiki.banana-pi.org/BPI-R64_%2B_MT7615_function_test

1 Like

I have been successful in using the SD card version of the img file to boot into a working system. I would like to use the EMMC.img version and have the router boot and function out of emmc. Can you guide me how to flash the EMMC.img version? I tried using the following options in u-boot menu:

    1. System Load Linux Kernel then write to Flash via TFTP and
  • b. System Load flashimage then write to Flash via TFTP.

The TFTP transfer was successful, but got errors.

In case of “System Load Linux Kernel”, I got

Bytes transferred = 20191432 (13418c8 hex)
get filesize 0x13418c8
[do_filesize_check] partition_size: 0x1e00000 , filesize: 0x13418c8
[do_read_image_blks] Image format error,neither FIT image nor old image.
Bad Magic Number.
mmc0 is current device
mmc0 operation
dev_num = 0

MMC write: dev # 0, block # 4096, count 98304 ... 98304 blocks write: OK
mmc0 is current device
mmc0 operation
dev_num = 0

MMC read: dev # 0, block # 4096, count 1 ... 1 blocks read: OK
[do_read_image_blks] Image format error,neither FIT image nor old image.
Bad Magic Number.
mmc0 operation
dev_num = 0

MMC read: dev # 0, block # 4096, count 0 ... 0 blocks read: OK
bootm flag=0, states=70f
Wrong Image Format for bootm command
ERROR: can't get kernel image!

In case of “Load flashimage”, I got

Bytes transferred = 20191432 (13418c8 hex)
get filesize 0x13418c8
[do_filesize_check] partition_size: 0x1400000 , filesize: 0x13418c8
mmc0 is current device
mmc0 operation
dev_num = 0

MMC write: dev # 0, block # 0, count 40960 ... 40960 blocks write: OK
dev_num = 0
Writing to MMC(0)... offset=1310720 
size=4096 
mmc->write_bl_len=512
done
invaild env!!!

Thanks