Firefly Open Source Community

Title: Poor wired network speed with Android [Print This Page]

Author: eldflugan    Time: 1/5/2015 23:43
Title: Poor wired network speed with Android

I received my Firefly RK3288 a few days ago and have been running XBMC in Android. When connected through a wired LAN cable to my home network, streaming playback is often halting for "Buffering...X%". Disconnecting the cable, running wifi instead gives better, albeit not perfect, performance. Today I measured the network speed on the four different variants and the results were as follows:

                    Wifi                Wired

Android        40-50 Mbps    2-3 Mbps

Lubuntu       40-50 Mbps    40-50 Mbps


For some reason the wired LAN connection doesn't work properly under Android, while I get not problem under Lubuntu. Hence, it doesn't look as if it is hardware related.


Any ideas?


Thanks,

Tomas


Author: pacopad    Time: 1/6/2015 14:25

Hi Tomas  ,


I got exactly the same problem here under android AND linux. here are my statements . Network transfert is ugly when speed is 1000 FULL Negociated or Fixed.


If you force 100/Full on your interface (i dont know how to make it on Android) iperf indicated about 90MB.


I dont know if it's hardware side or kernel side but the problem is here with all linux/android (even self compile) image i tried. I tried with an other giga switch , problem is the same.


I dont know if Firefly staff is around but i never receive "Real" answer for my problem


Pacopad


Author: Andy    Time: 1/6/2015 15:10
Our team is working on this problem.
Author: pacopad    Time: 1/6/2015 17:08

Happy to hear that team is on the way : )




Best regards

Pacopad
Author: leungtek    Time: 1/13/2015 11:39

find out a way to solve this problem.

only debug rx_delay can solve. Only for 1000Speed

kernel/arch/arm/boot/dts/firefly-rk3288.dts

  1. &gmac {
  2. //      pmu_regulator = "act_ldo5";
  3. //      pmu_enable_level = <1>; //1->HIGH, 0->LOW
  4. //      power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
  5.         reset-gpio = <&gpio4 GPIO_B0 GPIO_ACTIVE_LOW>;
  6.         phy-mode = "rgmii";
  7.         clock_in_out = "input";
  8.         tx_delay = <0x30>;
  9.         rx_delay = <0x16>;
Copy the code

I try to modify rx_delay = <0x16> , the speed finally get well . of course , I try 0x14 or 0x18.


Both of we can modify rx_delay to try to fix  this problem.


Author: pacopad    Time: 1/13/2015 14:46
Hi ,

i'll try that ASAP?

Thank you for posting

Pacopad
Author: cgsong    Time: 1/14/2015 00:34
I tried modified parameter, But it is not working on Ubuntu with modified 0x16 rx_delay. It works only for minutes with eth0 gigabit interface, and it stops network functionality. It is very unstable on Ubuntu.?
Author: pacopad    Time: 1/15/2015 14:51

Thank you Leungtek, you are a chief


[  4] local 192.168.1.1 port 49954 connected with 192.168.1.73 port 5001

[ ID] Interval       Transfer     Bandwidth

[  4]  0.0- 2.0 sec   178 MBytes   748 Mbits/sec

[  4]  2.0- 4.0 sec   176 MBytes   737 Mbits/sec

[  4]  4.0- 6.0 sec   174 MBytes   731 Mbits/sec

[  4]  6.0- 8.0 sec   179 MBytes   751 Mbits/sec

[  4]  8.0-10.0 sec   183 MBytes   769 Mbits/sec


Seems to work well with Android

Pacopad


Author: cgsong    Time: 1/15/2015 19:42
I tried on Unbuntu with this delay but I stops network functionality. Do you have any problem with 0x16 rx_delay? Could you let me know to how to fix a slow problem on Unbuntu?
Author: eldflugan    Time: 1/16/2015 02:37

@leungtek: As I am not a developer,?I kind of meant some further instructions on where/how to find and modify the file referred to.?




Thank you.
Author: leungtek    Time: 1/16/2015 17:15

@leungtek: As I am not a developer,?I kind of meant some further instructions on where/how to find and modify the file referred to.




modify this file? (kernel/arch/arm/boot/dts/firefly-rk3288.dts)

  1. &gmac {/pmu_regulator = "act_ldo5";/pmu_enable_level = <1>; /1->HIGH, 0->LOW/power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;reset-gpio = <&gpio4 GPIO_B0 GPIO_ACTIVE_LOW>;phy-mode = "rgmii";clock_in_out = "input";tx_delay = <0x30>;rx_delay = <0x16>; /modify here . or modify larger
Copy the code





you can scan WIKI-FIREFLY .




Author: eldflugan    Time: 1/16/2015 17:20
Sorry for being lazy. I will check out the wiki.




Welcome Firefly Open Source Community (https://bbs.t-firefly.com/) Powered by Discuz! X3.1