|
本帖最后由 paldier 于 2019-4-5 13:05 编辑
- cdc_ncm 8762 1 cdc_mbim
- rndis_host 5256 0
- cdc_ether 4036 1 rndis_host
- asix 10856 0
- cdc_acm 10357 0
- usbnet 11844 6 cdc_mbim,qmi_wwan,cdc_ncm,rndis_host,cdc_ether,asix
- mii 3367 2 asix,usbnet
- usbcore 103736 15 usblp,usb_storage,ohci_hcd,ehci_hcd,xhci_hcd,cdc_mbim,qmi_wwan,cdc_wdm,cdc_ncm,rndis_host,cdc_ether,asix,cdc_acm,usbnet
- ip6t_LOG 4494 0
- ip6table_filter 750 1
- yaffs 104406 1
- dhd24 2294028 0
- dpsta 7676 1 dhd24
- et 53857 0
- igs 11887 1 dhd24
- emf 21593 2 dhd24,igs
- ctf 20319 0
复制代码
dhd24加载成功了,但是
- eth1 Link encap:Ethernet HWaddr 00:00:00:00:00:00
- UP BROADCAST RUNNING ALLMULTI MULTICAST MTU:1500 Metric:1
- RX packets:0 errors:0 dropped:0 overruns:0 frame:0
- TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
- eth2 Link encap:Ethernet HWaddr 00:00:00:00:00:00
- UP BROADCAST RUNNING ALLMULTI MULTICAST MTU:1500 Metric:1
- RX packets:0 errors:0 dropped:0 overruns:0 frame:0
- TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
- admin@RT-AC3100:/tmp/home/root# wl -i eth1 txpower
- wl: wl driver adapter not found
复制代码
不知道还差什么
似乎知道为什么了,华硕为了防止假华硕不用nvram而是直接读cfe,而斐讯的cfe里偏偏没有华硕需要的东西,这里会造成一些null和空,应该有办法绕过去,最佳方案仍然是编译一个梅林专用的cfe
- Apr 2 00:26:45 kernel: [ 1437.360000] dhd_module_init dhd24 in
- Apr 2 00:26:45 kernel: [ 1437.370000] chipnum = 0x4366
- Apr 2 00:26:45 kernel: [ 1437.370000] chiprev = 0x3
- Apr 2 00:26:45 kernel: [ 1437.370000] dhd_queue_budget = 256
- Apr 2 00:26:45 kernel: [ 1437.380000] dhd_sta_threshold = 2048
- Apr 2 00:26:45 kernel: [ 1437.380000] dhd_if_threshold = 65536
- Apr 2 00:26:45 kernel: [ 1437.380000] no wifi platform data, skip
- Apr 2 00:26:45 kernel: [ 1437.390000] PCI_PROBE: bus 1, slot 0,vendor 14E4, device 4365(good PCI location)
- Apr 2 00:26:45 kernel: [ 1437.390000] dhdpcie_pci_probe: register dummy if for wl0
- Apr 2 00:26:45 kernel: [ 1437.400000] PCI_PROBE: bus 1, slot 0,vendor 14E4, device 4365(good PCI location)
- Apr 2 00:26:45 kernel: [ 1437.410000] dhdpcie_pci_probe: register dummy if for wl1
- Apr 2 00:26:45 kernel: [ 1437.410000] Broadcom PCI Device 0x4715 has allocated with driver et
- Apr 2 00:26:45 kernel: [ 1437.420000] Broadcom PCI Device 0x4715 has allocated with driver et
- Apr 2 00:26:45 kernel: [ 1437.430000] Broadcom PCI Device 0x4715 has allocated with driver et
- Apr 2 00:26:45 kernel: [ 1437.440000] Broadcom PCI Device 0x471a has allocated with driver ohci_hcd
- Apr 2 00:26:45 kernel: [ 1437.440000] Broadcom PCI Device 0x471a has allocated with driver ehci_hcd
- Apr 2 00:26:45 kernel: [ 1437.450000] dhd_module_init dhd24 out
复制代码- v0 = (unsigned __int8)cfg_multichip;
- if ( cfg_multichip )
- {
- if ( bus_find_device(&platform_bus_type, 0, "bcmdhd_wifi_platform", wifi_platdev_match) )
- return platform_driver_register(dhd_wifi_platform_dev_driver);
- if ( !(dhd_msg_level & 1) )
- return -6;
- v9 = -6;
- printk("bcmdhd wifi platform data device not found!!\n");
- return v9;
- }
- v2 = bus_find_device(&platform_bus_type, (unsigned __int8)cfg_multichip, "bcmdhd_wlan", wifi_platdev_match);
- v3 = bus_find_device(&platform_bus_type, v0, "bcm4329_wlan", wifi_platdev_match);
- v4 = v3 == 0;
- if ( !v3 )
- v4 = v2 == 0;
- v5 = v3;
- v6 = v4 != 0;
- if ( v6 )
- {
- if ( dhd_msg_level & 1 )
- printk("no wifi platform data, skip\n");
- return dhd_wifi_platform_load_pcie();
- }
- v7 = (_DWORD *)kmem_cache_alloc((char *)&kmalloc_caches + 840, 32976);
- v8 = v7;
- if ( !v7 )
- {
- if ( dhd_msg_level & 1 )
- {
- v9 = 12;
- printk("%s:adapter alloc failed");
- }
- else
- {
- v9 = 12;
- }
- goto LABEL_20;
- }
- v7[6] = -1;
- v7[7] = -1;
- v7[8] = -1;
- *v7 = "DHD generic adapter";
- v7[1] = -1;
- is_power_on = 0;
- wifi_plat_dev_probe_ret = 0;
- dhd_wifi_platdata = kmem_cache_alloc((char *)&kmalloc_caches + 700, 32976);
- *(_DWORD *)dhd_wifi_platdata = 1;
- *(_DWORD *)(dhd_wifi_platdata + 4) = v8;
- if ( v2 )
- {
- v9 = platform_driver_register(wifi_platform_dev_driver);
- if ( v9 )
- {
- if ( dhd_msg_level & 1 )
- printk("%s: failed to register wifi ctrl func driver\n");
- goto LABEL_15;
- }
- }
- if ( v5 )
- {
- v9 = platform_driver_register(wifi_platform_dev_driver_legacy);
- if ( v9 )
- {
- if ( dhd_msg_level & 1 )
- printk("%s: failed to register wifi ctrl func legacy driver\n");
- LABEL_15:
- if ( v9 == -6 )
- return dhd_wifi_platform_load_pcie();
- LABEL_20:
- wifi_ctrlfunc_unregister_drv();
- return v9;
- }
- }
- v9 = wifi_plat_dev_probe_ret;
- if ( wifi_plat_dev_probe_ret )
- goto LABEL_15;
- return 0;
- }
复制代码- May 5 00:05:05 kernel: PCI_PROBE: bus 1, slot 0,vendor 14E4, device 4365(good PCI location)
- May 5 00:05:05 kernel: PCI: Enabling device 0001:01:00.0 (0140 -> 0142)
复制代码 没有启用pcie设备...........这里不应该有什么坑才对啊
好吧忘了3100是4366b1而k3是4366c0,难道要和88u杂交一下才行?
现在卡在这里了,进步很大
- v8 = *(_DWORD *)(v5 + 60);
- v9 = v8 - 17253;
- v10 = v8 >= 0xAA90;
- v11 = v8 == 43664;
- if ( v8 != 43664 )
- {
- v10 = v9 >= 1;
- v11 = v9 == 1;
- }
- if ( v11 || !v10 )
- {
- sprintf(&s, "%#x");
- nvram_set("chipnum", &s);
- sprintf(&s, "%#x", *(_DWORD *)(*(_DWORD *)(v1 + 32) + 64));
- v12 = nvram_set("chiprev", &s);
- nvram_commit(v12);
- v5 = *(_DWORD *)(v1 + 32);
- if ( *(_DWORD *)(v5 + 64) > 3u )
- {
- if ( dhd_msg_level & 1 )
- {
- printk("%s: don't support chip %#x rev %#x\n", "dhdpcie_dongle_attach", *(_DWORD *)(v5 + 60));
复制代码- if ( *(_DWORD *)(v5 + 64) > 3u )
复制代码 为什么改成4u 5u仍然会4大于4 4大于5,完全想不通
|
|