2012-09-28

mk802 -- insserv

How to add a service when using dependency-based booting

In Debian releases prior to 6.0, a service could be added with update-rc.d:

update-rc.d mydaemon defaults

Starting with Debian 6.0, the insserv command is used instead, if dependency-based booting is enabled:

insserv mydaemon

Where mydaemon is an executable init script placed in /etc/init.d. insserv will produce no output if everything went OK. Examine the error code in $? if you want to be sure.

Both the old and the new way requires an init script to be present in /etc/init.d. For dependency-based booting, the script needs to be an LSB init script.


1.
root@arm:~# ls -l /etc/init.d/ssh*
-rwxr-xr-x    1 root     root          2451 Sep 14 09:12 ssh
-rwxr-xr-x    1 root     root          3881 Feb 24  2012 ssh-bv1al

2.
root@arm:~# head /etc/init.d/ssh
#! /bin/sh

### BEGIN INIT INFO
# Provides:             sshd
# Required-Start:       $remote_fs $syslog
# Required-Stop:        $remote_fs $syslog
# Default-Start:        2 3 4 5
# Default-Stop:
# Short-Description:    OpenBSD Secure Shell server
### END INIT INFO

3.
root@arm:~# ls /etc/rc2.d /etc/rc3.d
/etc/rc2.d:
README       S01rsyslog  S03board_tweaks.sh  S03loadcpufreq   S05rc.local
S01bootlogs  S01sudo     S03cron             S03rsync         S05rmnologin
S01motd      S02apache2  S03dbus             S04cpufrequtils

/etc/rc3.d:
README       S01rsyslog  S03board_tweaks.sh  S03loadcpufreq   S05rc.local
S01bootlogs  S01sudo     S03cron             S03rsync         S05rmnologin
S01motd      S02apache2  S03dbus             S04cpufrequtils


4.
root@arm:~# insserv ssh
insserv: warning: script 'K01board_tweaks.sh' missing LSB tags and overrides
insserv: warning: script 'board_tweaks.sh' missing LSB tags and overrides
insserv: warning: script 'ssh-bv1al' missing LSB tags and overrides

5.
root@arm:~# ls /etc/rc2.d /etc/rc3.d
/etc/rc2.d:
README       S01rsyslog  S03board_tweaks.sh  S03loadcpufreq  S04cpufrequtils
S01bootlogs  S01sudo     S03cron             S03rsync        S05rc.local
S01motd      S02apache2  S03dbus             S03ssh          S05rmnologin

/etc/rc3.d:
README       S01rsyslog  S03board_tweaks.sh  S03loadcpufreq  S04cpufrequtils
S01bootlogs  S01sudo     S03cron             S03rsync        S05rc.local
S01motd      S02apache2  S03dbus             S03ssh          S05rmnologin
root@arm:~#

MK802 -- autologin

agetty -- autologin

1:2345:respawn:/sbin/agetty -a debian -8 -s 38400 tty1


1.
root@arm:~# dpkg -S agetty
util-linux: /usr/share/man/man8/agetty.8.gz
util-linux: /sbin/agetty
util-linux: /usr/share/doc/util-linux/README.modems-with-agetty

2.
root@arm:~# agetty --help | head

Usage:
 agetty [options] line baud_rate,... [termtype]
 agetty [options] baud_rate,... line [termtype]

Options:
 -8, --8bits                assume 8-bit tty
 -a, --autologin <user>     login the specified user automatically
 -c, --noreset              do not reset control mode
 -f, --issue-file <file>    display issue file
 -s, --keep-baud            try to keep baud rate after break


3.
root@arm:~# nano /etc/inittab
root@arm:~# cat /etc/inittab | grep respawn
z6:6:respawn:/sbin/sulogin
# 1:2345:respawn:/sbin/getty 38400 tty1
1:2345:respawn:/sbin/agetty -a debian -8 -s 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
T2:23:respawn:/sbin/getty -L ttyO2 115200 vt102

Mk802 -- uImage

changyongid.blog.chinaunix.net

Extract an uImage

According to the U-Boot header definition an uImage begins with the hex byte sequence 27 05 19 56 and the header is 64 bytes long.

dd if=uImage of=zImage ibs=64 skip=1


1.
root@arm:~# uname -a
Linux arm 3.0.42-slitaz #2 PREEMPT Thu Sep 27 18:30:18 UTC 2012 armv7l GNU/Linux


2.
# tazpkg install u-boot-tools-2012.04.01-2.tazpkg

3.
root@slitaz:/usr/src/linux# time make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j4 uImage
[..]
  OBJCOPY arch/arm/boot/zImage
  Kernel: arch/arm/boot/zImage is ready
  UIMAGE  arch/arm/boot/uImage
Image Name:   Linux-3.0.42-slitaz
Created:      Thu Sep 27 18:30:24 2012
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    3906268 Bytes = 3814.71 kB = 3.73 MB
Load Address: 40008000
Entry Point:  40008000
  Image arch/arm/boot/uImage is ready

real    5m53.737s
user    10m26.467s
sys     0m47.126s


4.
root@slitaz:/usr/src/linux# ls -l arch/arm/boot/*mage
-rwxr-xr-x    1 root     root       8171044 Sep 27 18:30 arch/arm/boot/Image
-rw-r--r--    1 root     root       3906332 Sep 27 18:30 arch/arm/boot/uImage
-rwxr-xr-x    1 root     root       3906268 Sep 27 18:30 arch/arm/boot/zImage


5.
root@slitaz:/usr/src/linux# calc 3906332-3906268
64


Ref:
Building

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- sun4i_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4 uImage modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=output modules_install
.

2012-09-27

MK802 -- AX88772A

ASIX AX88772A USB Ethernet

1.
root@arm:~# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:80:8e:FF:FF:FF 
          inet addr:192.168.1.31  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3638 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3220 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:240618 (234.9 KiB)  TX bytes:456143 (445.4 KiB)

2.
root@arm:~# lsusb | grep ASIX
Bus 002 Device 003: ID 0b95:772a ASIX Electronics Corp. AX88772A Fast Ethernet

3.
root@arm:~# grep 'net/usb' /lib/modules/3.0.42-slitaz/modules.builtin
kernel/drivers/net/usb/asix.ko
kernel/drivers/net/usb/usbnet.ko

4.
root@arm:~# hwinfo | grep -i -e asix -e eth1
process 2830: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file ../../dbus/dbus-errors.c line 282.
This is normally a bug in some application using the D-Bus library.
libhal.c 3483 : Error unsubscribing to signals, error=The name org.freedesktop.Hal was not provided by any .service files
            asix: /devices/platform/sw-ehci.1/usb2/2-1/2-1.4/2-1.4:1.0
    manufacturer = "ASIX Elec. Corp."
  net interface: name = eth1, path = /class/net/eth1
    net driver: name = asix, path = /bus/usb/drivers/asix
eth1: Sending PADI packet
eth1: Sending PADI packet
  E: DRIVER=asix
  P: /devices/platform/sw-ehci.1/usb2/2-1/2-1.4/2-1.4:1.0/net/eth1
  E: DEVPATH=/devices/platform/sw-ehci.1/usb2/2-1/2-1.4/2-1.4:1.0/net/eth1
  E: ID_SERIAL=ASIX_Elec._Corp._AX88x72A_000002
  E: ID_USB_DRIVER=asix
  E: ID_VENDOR=ASIX_Elec._Corp.
  E: ID_VENDOR_ENC=ASIX\x20Elec.\x20Corp.
  E: ID_VENDOR_FROM_DATABASE=ASIX Electronics Corp.
  E: INTERFACE=eth1
/devices/platform/sw-ehci.1/usb2/2-1/2-1.4/2-1.4:1.0/net/eth1
  Model: "ASIX Electronics AX88x72A"
  Vendor: usb 0x0b95 "ASIX Electronics Corp."
  Driver: "asix"
  Device File: eth1
  SysFS ID: /class/net/eth1
  Driver: "asix"
  Device File: eth1

MK802 -- OTG -2

Debian wheezy for MK802

HOST:USB-2.0 4-Port HUB
1.ASIX AX88772A USB Ethernet
2.Prolific USB Flash
3.JMTek    USB Flash
4.Silicon Motion USB Flash

OTG:Ritek USB Flash


1.
root@arm:~# lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 002 Device 003: ID 0b95:772a ASIX Electronics Corp. AX88772A Fast Ethernet
Bus 001 Device 002: ID 0b27:0165 Ritek Corp.
Bus 002 Device 004: ID 067b:2528 Prolific Technology, Inc.
Bus 002 Device 005: ID 0c76:1783 JMTek, LLC.
Bus 002 Device 006: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) 64MB QDI U2 DISK

2.
root@arm:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.8G  654M  1.1G  38% /
/dev/root       1.8G  654M  1.1G  38% /
devtmpfs        392M     0  392M   0% /dev
tmpfs            79M  236K   79M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           157M     0  157M   0% /run/shm
/dev/mmcblk0p1   16M  7.6M  8.4M  48% /boot/uboot
/dev/sda        7.6G  4.4G  3.2G  58% /mnt/sda
/dev/sdb1       3.8G  2.6G  1.2G  69% /mnt/sdb
/dev/sdc1       125M  111M   15M  89% /mnt/sdc
/dev/sdd1       1.9G  1.7G  105M  95% /mnt/sdd

3.
root@arm:~# hwinfo
[..]
18: SCSI 400.0: 10600 Disk
  [Created at block.243]
  Unique ID: ADDn.aLBrhpBBCV3
  SysFS ID: /class/block/sda
  SysFS BusID: 4:0:0:0
  SysFS Device Link: /devices/platform/sw_hcd_host0/usb1/1-1/1-1:1.0/host4/target4:0:0/4:0:0:0
  Hardware Class: disk
  Model: "Ut165 USB2FlashStorage"
  Vendor: usb 0x0b27 "Ut165"
  Device: usb 0x0165 "USB2FlashStorage"
  Revision: "0.00"
  Serial ID: "0000000000497C"
  Driver: "usb-storage", "sd"
  Driver Modules: "usb_storage"
  Device File: /dev/sda
  Device Files: /dev/sda, /dev/disk/by-id/usb-Ut165_USB2FlashStorage_0000000000497C-0:0, /dev/disk/by-path/platform-sw_hcd_host0-usb-0:1:1.0-scsi-0:0:0:0, /dev/disk/by-uuid/5C7F-463E
  Device Number: block 8:0-8:15
  Geometry (Logical): CHS 1023/249/62
  Size: 15794176 sectors a 512 bytes
  Speed: 480 Mbps
  Module Alias: "usb:v0B27p0165d0100dc00dsc00dp00ic08isc06ip50"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

19: SCSI 100.0: 10600 Disk
  [Created at block.243]
  Unique ID: JPTW.Z6WUkzP5uw7
  SysFS ID: /class/block/sdb
  SysFS BusID: 1:0:0:0
  SysFS Device Link: /devices/platform/sw-ehci.1/usb2/2-1/2-1.3/2-1.3:1.0/host1/target1:0:0/1:0:0:0
  Hardware Class: disk
  Model: "USB 2.0 Flash Disk"
  Vendor: usb 0x067b "USB 2.0"
  Device: usb 0x2528 "Flash Disk"
  Revision: "1.00"
  Serial ID: "000703085AE8BB21720C"
  Driver: "usb-storage", "sd"
  Driver Modules: "usb_storage"
  Device File: /dev/sdb
  Device Files: /dev/sdb, /dev/disk/by-id/usb-USB_2.0_Flash_Disk_000703085AE8BB21720C-0:0, /dev/disk/by-path/platform-sw-ehci.1-usb-0:1.3:1.0-scsi-0:0:0:0
  Device Number: block 8:16-8:31
  Geometry (Logical): CHS 1023/125/62
  Size: 7929856 sectors a 512 bytes
  Speed: 480 Mbps
  Module Alias: "usb:v067Bp2528d0100dc00dsc00dp00ic08isc06ip50"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

20: None 00.0: 11300 Partition
  [Created at block.412]
  Unique ID: h4pj.SE1wIdpsiiC
  Parent ID: JPTW.Z6WUkzP5uw7
  SysFS ID: /class/block/sdb/sdb1
  Hardware Class: partition
  Model: "Partition"
  Device File: /dev/sdb1
  Device Files: /dev/sdb1, /dev/disk/by-id/usb-USB_2.0_Flash_Disk_000703085AE8BB21720C-0:0-part1, /dev/disk/by-label/TazUSB, /dev/disk/by-path/platform-sw-ehci.1-usb-0:1.3:1.0-scsi-0:0:0:0-part1, /dev/disk/by-uuid/4D7A-8A9D
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #19 (Disk)

21: SCSI 200.0: 10600 Disk
  [Created at block.243]
  Unique ID: tGrL.9Jtc5PpHw63
  SysFS ID: /class/block/sdc
  SysFS BusID: 2:0:0:0
  SysFS Device Link: /devices/platform/sw-ehci.1/usb2/2-1/2-1.2/2-1.2:1.0/host2/target2:0:0/2:0:0:0
  Hardware Class: disk
  Model: "GENERIC USB Mass Storage"
  Vendor: usb 0x0c76 "GENERIC"
  Device: usb 0x1783 "USB Mass Storage"
  Revision: "1.00"
  Driver: "usb-storage", "sd"
  Driver Modules: "usb_storage"
  Device File: /dev/sdc
  Device Files: /dev/sdc, /dev/disk/by-id/usb-GENERIC_USB_Mass_Storage-0:0, /dev/disk/by-path/platform-sw-ehci.1-usb-0:1.2:1.0-scsi-0:0:0:0
  Device Number: block 8:32-8:47
  Geometry (Logical): CHS 225/18/63
  Size: 256000 sectors a 512 bytes
  Speed: 12 Mbps
  Module Alias: "usb:v0C76p1783d0100dc00dsc00dp00ic08isc06ip50"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

22: None 00.0: 11300 Partition
  [Created at block.412]
  Unique ID: mX79.SE1wIdpsiiC
  Parent ID: tGrL.9Jtc5PpHw63
  SysFS ID: /class/block/sdc/sdc1
  Hardware Class: partition
  Model: "Partition"
  Device File: /dev/sdc1
  Device Files: /dev/sdc1, /dev/disk/by-id/usb-GENERIC_USB_Mass_Storage-0:0-part1, /dev/disk/by-path/platform-sw-ehci.1-usb-0:1.2:1.0-scsi-0:0:0:0-part1, /dev/disk/by-uuid/43F5-394B
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #21 (Disk)

23: SCSI 300.0: 10600 Disk
  [Created at block.243]
  Unique ID: R8DB.nkmrNZsXMc8
  SysFS ID: /class/block/sdd
  SysFS BusID: 3:0:0:0
  SysFS Device Link: /devices/platform/sw-ehci.1/usb2/2-1/2-1.1/2-1.1:1.0/host3/target3:0:0/3:0:0:0
  Hardware Class: disk
  Model: "USB 2.0 Flash Disk"
  Vendor: usb 0x090c "USB 2.0"
  Device: usb 0x1000 "Flash Disk"
  Revision: "1100"
  Serial ID: "�"
  Driver: "usb-storage", "sd"
  Driver Modules: "usb_storage"
  Device File: /dev/sdd
  Device Files: /dev/sdd, /dev/disk/by-id/usb-USB_2.0_Flash_Disk_AA30000000000046-0:0, /dev/disk/by-path/platform-sw-ehci.1-usb-0:1.1:1.0-scsi-0:0:0:0
  Device Number: block 8:48-8:63
  Geometry (Logical): CHS 1014/63/62
  Size: 3963904 sectors a 512 bytes
  Speed: 480 Mbps
  Module Alias: "usb:v090Cp1000d1100dc00dsc00dp00ic08isc06ip50"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

24: None 00.0: 11300 Partition
  [Created at block.412]
  Unique ID: r_Ra.SE1wIdpsiiC
  Parent ID: R8DB.nkmrNZsXMc8
  SysFS ID: /class/block/sdd/sdd1
  Hardware Class: partition
  Model: "Partition"
  Device File: /dev/sdd1
  Device Files: /dev/sdd1, /dev/disk/by-id/usb-USB_2.0_Flash_Disk_AA30000000000046-0:0-part1, /dev/disk/by-path/platform-sw-ehci.1-usb-0:1.1:1.0-scsi-0:0:0:0-part1, /dev/disk/by-uuid/aadfb522-a40d-439c-a923-4a916ba9e926
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #23 (Disk)
.

MK802 II -- OTG


USB On-The-Go, often abbreviated USB OTG, is a specification that allows USB devices such as digital audio players or mobile phones to act as a host, allowing other USB devices like a USB flash drive, mouse, or keyboard to be attached to them.

Standard USB uses a master/slave architecture.

1.
# diff .config-bv1 .config
--- .config-bv1
+++ .config
[..]
@@ -1640,11 +1666,13 @@
 #
 # Miscellaneous USB options
 #
-# CONFIG_USB_DEVICEFS is not set
+CONFIG_USB_DEVICEFS=y
 CONFIG_USB_DEVICE_CLASS=y
 # CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_SUSPEND is not set
-# CONFIG_USB_MON is not set
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_MON=m
 # CONFIG_USB_WUSB_CBAF is not set

 #
@@ -1823,8 +1851,9 @@
 #
 # OTG and related infrastructure
 #
+CONFIG_USB_OTG_UTILS=y
 # CONFIG_USB_ULPI is not set
-# CONFIG_NOP_USB_XCEIV is not set
+CONFIG_NOP_USB_XCEIV=y
 CONFIG_USB_SW_SUN4I_USB=y
 CONFIG_USB_SW_SUN4I_USB_MANAGER=y
 # CONFIG_USB_SW_SUN4I_USB0_NULL is not set


2.
root@slitaz:~# cat /usr/src/linux/drivers/usb/otg/modules.builtin
kernel/drivers/usb/otg/nop-usb-xceiv.ko

or

root@arm:~# grep otg /lib/modules/3.0.42-slitaz/modules.builtin
kernel/drivers/usb/otg/nop-usb-xceiv.ko


3.
NOP USB Transceiver Driver (NOP_USB_XCEIV)

CONFIG_NOP_USB_XCEIV:

this driver is to be used by all the usb transceiver which are either
built-in with usb ip or which are autonomous and doesn't require any
phy programming such as ISP1x04 etc.

Symbol: NOP_USB_XCEIV [=y]
Type : tristate
Prompt: NOP USB Transceiver Driver
Defined at drivers/usb/otg/Kconfig:89
Depends on: USB_SUPPORT [=y] && (USB [=y] || USB_GADGET [=y])
Location:
-> Device Drivers
-> USB support (USB_SUPPORT [=y])
Selects: USB_OTG_UTILS [=y]
Selected by: USB_MUSB_HDRC [=n] && USB_SUPPORT [=y] && (USB [=y] || USB_GADGET [=y]) && (ARM [=y] || BF54x && !BF544 || BF52x && !BF522 && !BF523) && (ARCH_DAVINCI [=n] || MACH_OMAP3EVM [=n] || BLACKFIN)
.

2012-09-23

mk802 -- wifi

RTL8188CUS 802.11n WLAN Adapter

1.
root@arm:~# lsusb | grep RTL
Bus 003 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

2.
root@arm:~# lsmod
Module                  Size  Used by
cpufreq_powersave       1076  0
pegasus                20639  0
fbcon                  36269  70
font                    7715  1 fbcon
bitblit                 4179  1 fbcon
softcursor              1131  1 bitblit
8192cu                515490  0

3.
root@arm:~# modinfo 8192cu | head
filename:       /lib/modules/3.0.42-bv1/kernel/drivers/net/wireless/rtl8192cu/8192cu.ko
version:        v3.3.2_3192.20120103
author:         Realtek Semiconductor Corp.
description:    Realtek Wireless Lan Driver
license:        GPL
srcversion:     BB2AE8E045935F430768E1D
alias:          usb:v0BDAp8186d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0E66p0019d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0846p9021d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0B05p17ABd*dc*dsc*dp*ic*isc*ip*

4.
root@arm:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback

# The primary network interface
auto eth1
iface eth1 inet dhcp
# Example to keep MAC address between reboots
#hwaddress ether DE:AD:BE:EF:CA:FE

# WiFi Example
auto wlan0
iface wlan0 inet dhcp
    wpa-ssid "your ssid"
    wpa-psk  "your passwd"

5.
root@arm:~# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 48:02:2a:xx:xx:xx
          inet addr:192.168.1.31  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27321 errors:0 dropped:575330 overruns:0 frame:0
          TX packets:1527 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:49721241 (47.4 MiB)  TX bytes:2125537 (2.0 MiB)
.

mk802 -- Debian wheezy

1.
Debian wheezy for MK802

2.
root@arm:~# uname -a
Linux arm 3.0.42-bv1 #1 PREEMPT Mon Sep 10 08:10:21 CST 2012 armv7l GNU/Linux

3.
root@arm:~# head /var/log/dmesg
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Linux version 3.0.42-bv1 (root@mint) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1-2012.08-20120827 - Linaro GCC 2012.08) ) #1 PREEMPT Mon Sep 10 08:10:21 CST 2012
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: sun4i
[    0.000000] Total Detected Memory: 512MB with 1 banks
[    0.000000] 64 MB reserved for MALI
[    0.000000] Memory Reserved:
[    0.000000]  SYS  : 0x43000000 - 0x4300ffff  (  64 kB)
[    0.000000]  VE   : 0x44000000 - 0x48ffffff  (  80 MB)

root@arm:~# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 1001.88
Features        : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc08
CPU revision    : 2

Hardware        : sun4i
Revision        : 0000
Serial          : 0000000000000000
root@arm:~#

4.
root@arm:~# free -m
             total       used       free     shared    buffers     cached
Mem:           782        210        571          0         22        163
-/+ buffers/cache:         24        757
Swap:            0          0          0

5.
root@arm:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          925M  638M  240M  73% /
/dev/root       925M  638M  240M  73% /
devtmpfs        392M     0  392M   0% /dev
tmpfs            79M  220K   79M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           157M     0  157M   0% /run/shm
/dev/mmcblk0p1   16M  4.0M   13M  25% /boot/uboot

6.
root@arm:~# cat /proc/cmdline
console=ttyS0,115200 root=/dev/mmcblk0p2 loglevel=8 panic=10 rootwait mem=928M
root@arm:~#

mk802 -- a10 boot process

 

brom -> boot0 -> boot1 -> boot.axf -> u-boot -> kernel

A10 boot overview

A10 is a quite 'closed chip'. There is a brom in the chip, which can not be modified. This brom will load program from external storage(nand, mmc), which is called boot0 in allwinner. Brom will check the header of boot0, and get hardware information from boot0. The hardware information is in a config file called sys_config.fex. A pc tools will read the config file, and write the hardware information to the head of boot0. After boot0 is booted up, it will continue to load another loader boot1, boot1 init all other hardware and provides hardware abstracts and services. According to the boot OS, boot1 loads an arm elf program, boot.axf. For booting linux, boot.axf loads the u-boot and jumps to the u-boot. Then u-boot will take over.
So, the whole boot process is: brom -> boot0 -> boot1 -> boot.axf -> u-boot -> kernel

mk802 II -- AllWinner A10




Android4.0 MINP PC SPEC MK802 II





Model
MK802 II
OS
Android 4.0
Main Chip
Allwinner A10/ 1GHz Cortex-A8
Memory
1GB
Storage
4GB
Graphical processor
2D/ 3D/ OpenGL ES2.0(AMD Z430)/ OpenVG1.1(AMD Z160)@27M Tri/sec
Network
Wireless 802.11b/g/n, WAPIRalink8188
Expand Memory
Micro TF 2-32GB
IO/Ports
Micro USBX2; USB2.0X1; HDMIX1; MicroSDX1
Keyboard
Support virtual keyboard, support 2.4G wireless keyboard, fly mouse
Audio
AAC, AAC+, eAAC+, AMR-NB, AMR-WB, QCP, MP3, WMA, WAV, MIDI, M4A 
Video
WMV/ASF/MP4/3GP/3G2M4V/AVI/MJPEG/RV10/DivX/VC-1/MPEG-2/
MPEG-4/H.263/H.264/1280*720P HD 30 fps, 1080P/720*480 D1 30fps
Android APP
Youtube,Twitter,AngryBird,Office,Gmail,Browse,Skype.
HDMI
1080P&2160P
Power Input
Powered the the USB port.
Accessory
MicroUSB to USB(male) cable; MircoUSB to USB(female) adapter;

HDMI female to male cable.
Unit Size
9.7*2.8*1.2cm
Total weight
0.2kg



AllWinner_A1X

The Allwinner A1X, known under Linux as sunxi, is a family of SoC devices designed by AllWinner Technology Co. Ltd. from Zhuhai, China. Currently the family consists of the A13[1] and the A10.[2] The SoCs incorporate the ARM Cortex-A8 as its main processor[3] and the Mali 400 as the GPU.

The Allwinner A1X is known for its ability to easily boot from an SD card GNU/Linux distributions such as Debian, Ubuntu, and other ARM architecture-capable GNU/Linux distributions. The ability is in addition to the Android OS usually installed on the Flash memory of the device.

Models

Currently the A1X family consists of two models. The A10 (sun4i) is the current full-featured SoC with all the features outlined below. The A13 (sun5i) is a lower power consumption and lower cost version of the A10 which is designed primarily for tablet computers. The A13 does not have HDMI or SATA connections.


List of ARM microprocessor cores
Architecture Family
ARMv1 ARM1
ARMv2 ARM2, ARM3
ARMv3 ARM6, ARM7
ARMv4 StrongARM, ARM7TDMI, ARM9TDMI
ARMv5 ARM7EJ, ARM9E, ARM10E, XScale
ARMv6 ARM11, ARM Cortex-M
ARMv7 ARM Cortex-A, ARM Cortex-M, ARM Cortex-R
ARMv8 No cores available yet. Will support 64-bit data and addressing

Family:Classic, Embedded and Application

(arm.com)

Allwinner A10 Datasheet v1.21(PDF, 83 pages, 2012-04-06)


ARM_Cortex-A8


2012-09-22

Raspi -- turbo mode


Extract from:

Introducing turbo mode: up to 50% more performance for free

[..]

What does this mean? Comparing the new image with 1GHz turbo enabled, against the previous image at 700MHz, nbench reports 52% faster on integer, 64% faster on floating point and 55% faster on memory.

Previous image (2012-08-16-wheezy-raspbian):

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 222.08 : 5.70 : 1.87
STRING SORT : 31.659 : 14.15 : 2.19
BITFIELD : 7.1294e+07 : 12.23 : 2.55
FP EMULATION : 44.808 : 21.50 : 4.96
FOURIER : 2188.1 : 2.49 : 1.40
ASSIGNMENT : 2.6545 : 10.10 : 2.62
IDEA : 671.41 : 10.27 : 3.05
HUFFMAN : 414.2 : 11.49 : 3.67
NEURAL NET : 2.9586 : 4.75 : 2.00
LU DECOMPOSITION : 77.374 : 4.01 : 2.89
=====================ORIGINAL BYTEMARK RESULTS=====================
INTEGER INDEX : 11.414
FLOATING-POINT INDEX: 3.619
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, ...
=========================LINUX DATA BELOW==========================
CPU :
L2 Cache :
OS : Linux 3.1.9+
C compiler : arm-linux-gnueabihf-gcc
libc : static
MEMORY INDEX : 2.447
INTEGER INDEX : 3.192
FLOATING-POINT INDEX: 2.007
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, ..
* Trademarks are property of their respective holder.

New image, with 1GHz turbo enabled:

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 340.8 : 8.74 : 2.87
STRING SORT : 47.52 : 21.23 : 3.29
BITFIELD : 1.05e+08 : 18.01 : 3.76
FP EMULATION : 66.32 : 31.82 : 7.34
FOURIER : 3431 : 3.90 : 2.19
ASSIGNMENT : 4.5311 : 17.24 : 4.47
IDEA : 991.67 : 15.17 : 4.50
HUFFMAN : 615.08 : 17.06 : 5.45
NEURAL NET : 4.76 : 7.65 : 3.22
LU DECOMPOSITION : 135.12 : 7.00 : 5.05
=====================ORIGINAL BYTEMARK RESULTS=====================
INTEGER INDEX : 17.356
FLOATING-POINT INDEX: 5.933
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, ...
=========================LINUX DATA BELOW==========================
CPU :
L2 Cache :
OS : Linux 3.2.27+
C compiler : arm-linux-gnueabihf-gcc
libc : static
MEMORY INDEX : 3.810
INTEGER INDEX : 4.768
FLOATING-POINT INDEX: 3.291
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, ..
* Trademarks are property of their respective holder.

2012-09-01

Slitaz -- raspi-alsa



BCM2835 ALSA

1.
root@slitaz:~# modprobe snd-bcm2835
### snd_bcm2835_alsa_probe c05e0958 ############### PROBING FOR bcm2835 ALSA device (0):(1) ###############
Creating card...
Creating device/chip ..
Adding controls ..
Registering card ....
bcm2835 ALSA CARD CREATED!
### BCM2835 ALSA driver init OK ###

2.
root@slitaz:~# spk-ls --short | grep alsa
alsa-lib 1.0.25
alsa-utils 1.0.25

3.
root@slitaz:~# ls -l /usr/share/sounds/alsa
total 1205
-rw-r--r-- 1 root root 137134 Jun 1 2012 Front_Center.wav
-rw-r--r-- 1 root root 142128 Jun 1 2012 Front_Left.wav
-rw-r--r-- 1 root root 146990 Jun 1 2012 Front_Right.wav
-rw-r--r-- 1 root root 135202 Jun 1 2012 Noise.wav
-rw-r--r-- 1 root root 130096 Jun 1 2012 Rear_Center.wav
-rw-r--r-- 1 root root 126064 Jun 1 2012 Rear_Left.wav
-rw-r--r-- 1 root root 146480 Jun 1 2012 Rear_Right.wav
-rw-r--r-- 1 root root 134868 Jun 1 2012 Side_Left.wav
-rw-r--r-- 1 root root 129966 Jun 1 2012 Side_Right.wav

4.
root@slitaz:~# aplay /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
root@slitaz:~# aplay /usr/share/sounds/alsa/Rear_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Rear_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

5.
root@slitaz:~# amixer scontrols
Simple mixer control 'PCM',0
root@slitaz:~# amixer scontents
Simple mixer control 'PCM',0
Capabilities: pvolume pvolume-joined penum
Playback channels: Mono
Limits: Playback -10240 - 2303
Mono: Playback 100 [82%] [1.00dB]
root@slitaz:~#