Hi all,
I'm running the revision 2 debian image from here https://www.olimex.com/wiki/A20-OLinuXino-MICRO (https://www.olimex.com/wiki/A20-OLinuXino-MICRO). The loadavg never drops below 1.00, and will sit at exactly "load average: 1.00, 1.00, 1.00" if the system is idling for many hours. The CPU's are normally ~99% idle.
Is it similar to this issue seen here: http://ict-crew.nl/qube:high_load_average_fix (http://ict-crew.nl/qube:high_load_average_fix) How to fix for debian on the A20?
For reference, some results from my A20 board:
root@A20:~# uptime
21:28:14 up 35 min, 2 users, load average: 1.00, 1.01, 0.93
root@A20:~#
top - 21:42:26 up 49 min, 2 users, load average: 1.00, 1.01, 0.97
Tasks: 73 total, 1 running, 72 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.8 sy, 0.0 ni, 99.0 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem: 998524 total, 129656 used, 868868 free, 34128 buffers
KiB Swap: 0 total, 0 used, 0 free, 62876 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3 root 20 0 0 0 0 S 2.4 0.0 1:16.28 [ksoftirqd/0]
9 root 20 0 0 0 0 S 2.3 0.0 1:00.06 [ksoftirqd/1]
3777 root 20 0 4068 1188 896 R 0.3 0.1 0:00.07 top -b -n 2 -d 10 -c
711 root 20 0 0 0 0 S 0.2 0.0 0:03.25 [hdmi proc]
3774 root 20 0 0 0 0 S 0.2 0.0 0:00.06 [kworker/0:0]
481 root 20 0 0 0 0 S 0.1 0.0 0:02.89 [kworker/1:1]
1 root 20 0 1684 624 520 S 0.0 0.1 0:03.60 init [2]
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd]
6 root rt 0 0 0 0 S 0.0 0.0 0:00.00 [migration/0]
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 [migration/1]
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [khelper]
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kdevtmpfs]
12 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [netns]
13 root 20 0 0 0 0 S 0.0 0.0 0:00.11 [kworker/u:1]
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [sync_system_wor]
21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [earlysuspend_ho]
236 root 20 0 0 0 0 S 0.0 0.0 0:00.01 [sync_supers]
238 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [bdi-default]
240 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kblockd]
259 root 20 0 0 0 0 S 0.0 0.0 0:00.06 [khubd]
264 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [cpufreq_uevent]
307 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [cfg80211]
308 root 20 0 0 0 0 S 0.0 0.0 0:00.13 [kworker/0:1]
396 root 20 0 0 0 0 D 0.0 0.0 0:00.21 [usb-hardware-sc]
403 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [rpciod]
407 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kswapd0]
408 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [fsnotify_mark]
409 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [nfsiod]
413 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [crypto]
462 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [khvcd]
517 root 20 0 0 0 0 S 0.0 0.0 0:00.01 [scsi_eh_0]
520 root 20 0 0 0 0 S 0.0 0.0 0:00.12 [kworker/u:2]
566 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [scsi_eh_1]
567 root 20 0 0 0 0 S 0.0 0.0 0:00.02 [usb-storage]
582 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [f_mtp]
587 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [file-storage]
616 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kworker/1:2]
635 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [fantasys]
720 root 20 0 0 0 0 S 0.0 0.0 0:02.95 [mmcqd/0]
728 root 20 0 0 0 0 S 0.0 0.0 0:00.05 [flush-179:0]
729 root 20 0 0 0 0 S 0.0 0.0 0:00.06 [jbd2/mmcblk0p2-]
730 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [ext4-dio-unwrit]
843 root 20 0 2484 1248 624 S 0.0 0.1 0:00.46 udevd --daemon
944 root 20 0 2480 1072 432 S 0.0 0.1 0:00.04 udevd --daemon
945 root 20 0 2480 1016 388 S 0.0 0.1 0:00.00 udevd --daemon
2253 root 20 0 4104 1960 248 S 0.0 0.2 0:00.00 dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
2288 root 20 0 0 0 0 S 0.0 0.0 0:00.14 [cifsd]
2400 root 20 0 1892 744 528 S 0.0 0.1 0:00.02 /sbin/rpcbind -w
2431 statd 20 0 2204 1084 676 S 0.0 0.1 0:00.01 /sbin/rpc.statd
2443 root 20 0 7068 832 332 S 0.0 0.1 0:00.00 /usr/sbin/rpc.idmapd
2674 lp 20 0 1652 472 348 S 0.0 0.0 0:00.00 /usr/sbin/lpd -s
2688 daemon 20 0 1720 300 172 S 0.0 0.0 0:00.00 /usr/sbin/atd
2868 messageb 20 0 2584 892 612 S 0.0 0.1 0:00.03 /usr/bin/dbus-daemon --system
2907 root 20 0 3352 692 532 S 0.0 0.1 0:00.01 /usr/sbin/cron
3116 root 20 0 8148 1424 960 S 0.0 0.1 0:00.15 /usr/sbin/nmbd -D
3169 root 20 0 5188 960 540 S 0.0 0.1 0:00.00 /usr/sbin/sshd
3187 root 20 0 15572 2748 2076 S 0.0 0.3 0:00.10 /usr/sbin/smbd -D
3212 root 20 0 16088 1092 420 S 0.0 0.1 0:00.00 /usr/sbin/smbd -D
3225 root 20 0 12228 1964 1420 S 0.0 0.2 0:00.03 /usr/sbin/winbindd
3244 root 20 0 12228 1232 684 S 0.0 0.1 0:00.01 /usr/sbin/winbindd
3245 Debian-e 20 0 9416 1108 524 S 0.0 0.1 0:00.00 /usr/sbin/exim4 -bd -q30m
3292 minidlna 20 0 36700 3692 1124 S 0.0 0.4 0:00.49 /usr/bin/minidlna -f /etc/minidlna.conf -P /run/minidlna/minidlna.pid
3293 root 20 0 3340 708 580 S 0.0 0.1 0:00.01 /sbin/getty 38400 tty1
3294 root 20 0 3340 708 580 S 0.0 0.1 0:00.01 /sbin/getty 38400 tty2
3295 root 20 0 3632 1568 1128 S 0.0 0.2 0:00.06 /bin/login -f
3298 root 20 0 27468 3256 2160 S 0.0 0.3 0:00.16 /usr/sbin/console-kit-daemon --no-daemon
3365 root 20 0 22196 2516 2028 S 0.0 0.3 0:00.09 /usr/lib/policykit-1/polkitd --no-debug
3374 root 20 0 5272 2744 1248 S 0.0 0.3 0:00.31 -bash
3393 root 20 0 11884 3560 2680 S 0.0 0.4 0:00.97 sshd: root@pts/1
3398 root 20 0 5300 2864 1332 S 0.0 0.3 0:01.45 -bash
3626 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [jbd2/sda2-8]
3627 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [ext4-dio-unwrit]
3700 root 20 0 0 0 0 S 0.0 0.0 0:02.59 [kworker/0:2]
Many thanks,
Chris.
You're right.
I upload at link https://drive.google.com/folderview?id=0BzF5qrRdBNDbR0ZCdkJ3LWJCWEE&usp=sharing the script.bin modified. You can save this to the boot partition on the microSD.
I do this:
- download and compile Sunxi-tools (http://linux-sunxi.org/Sunxi-tools)
- convert script.bin into script.fex with bin2fex
- modify section usbc0 as explained in the post https://groups.google.com/forum/#!searchin/cubieboard/load/cubieboard/mhb55nTj7lo
- convert back script.fex into script.bin with fex2bin
- upload the new script.bin on the boot partition on the microsd and reboot the board.
Note: with this "fix", on my board the OTG USB port does not work anymore.
Reverting this "fix", it works again.
Fernando
I haven't tried to use the UBS port.
I use the board as a server, so it's not a things to worry about.
Good for you, but people reading the board should be informed about this problem.
Fernando
Maybe there are some options in the kernel that can change the functionality.
I saw that there are some difference between your kernel config (posted in ReCompile Kernel for Debian Image) and Isidoro about USB and USB OTG.
The whole USB support is flawed in 3.3.
I had to modify stuff in the usb drivers and in one of the Makefiles to have it work with at least one of my MIDI keyboards.
It's not a matter of config (mine is different because I needed more USB options to get MIDI keyboards working), in fact they are rewriting a lot of USB stuff for 3.4 (but 3.4 has other issues). :-\
Anyway about the script.fex: a good compromise for the mini-USB port is
[usbc0]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_id_gpio = port:PH04<0><1><default><default>
usb_det_vbus_gpio = port:PH05<0><0><default><default>
usb_drv_vbus_gpio = port:PB09<1><0><default><0>
usb_host_init_state = 1
usb_restric_flag = 0
which keeps the low load (low ksoftirq cpu usage) AND keeps OTG port (mini-USB) working both with USB 1.1 and with USB 2.0 devices, if only in Host mode (which is the most useful anyway).
Fernando
Its not a problem specific to the 3.3 kernel. This is the same on 3.4.
I have this issue on both the A20 and the A10s boards with the last debian image from Olimex.
Here is a quick how to fix this yourself:
git clone git://github.com/linux-sunxi/sunxi-tools.git
cd sunxi-tools/
make fex2bin
Then retrieve the original script_a20.fex from your sdcard and copy it.
vi script_a20.fex
I use this setup on the buggy USB port (thanks to Xfer) :
[usbc0]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_id_gpio = port:PH04
usb_det_vbus_gpio = port:PH05
usb_drv_vbus_gpio = port:PB09
usb_host_init_state = 1
usb_restric_flag = 0
"which keeps the low load (low ksoftirq cpu usage) AND keeps OTG port (mini-USB) working both with USB 1.1 and with USB 2.0 devices, if only in Host mode (which is the most useful anyway)." Xfer
Then you convert it back to script bin.
./fex2bin -v script_a20.fex script.bin
And you copy it back to the root of your sdcard.
This should be the default until an official fix is found imho.
There do you find that script then the A20 is started?
This issue still exists in the newer A20-OLinuXino-LIME2 Debian Jessie with kernel 3.4.103+ release 3.
I managed to fix it with the following commands:
sudo apt-get install build-essential libusb-1.0
sudo mount /dev/mmcblk0p1 /media/olimex/6B4C-FFFD
cd ~
git clone https://github.com/linux-sunxi/sunxi-tools
cd sunxi-tools
make
sudo su
./bin2fex /media/olimex/6B4C-FFFD/script.bin > /media/olimex/6B4C-FFFD/script.fex
vim /media/olimex/6B4C-FFFD/script.fex
#Change these values:
[usbc0]
usb_port_type = 1
usb_detect_type = 0
usb_host_init_state = 1
# save the file
cp /media/olimex/6B4C-FFFD/script.bin /media/olimex/6B4C-FFFD/script.bin.save
./fex2bin /media/olimex/6B4C-FFFD/script.fex /media/olimex/6B4C-FFFD/script.bin