Month: June 2015

A trick to show Debug messages only in the current file

This trick can be used to avoid showing annoying debug message from all drivers and subsystems supported by NuttX:

#include <nuttx/config.h>

/* Trick to get DEBUG messages only in this file */
#define CONFIG_DEBUG 1
#define CONFIG_DEBUG_VERBOSE 1
#define CONFIG_DEBUG_I2C 1

#include <debug.h>
#include <sys/types.h>
#include <stdint.h>
#include <stdbool.h>
#include <errno.h>

It is very important to put the “defines CONFIG_DEBUG*” only AFTER the include nuttx/config.h and BEFORE the include debug.h.

Thanks Greg Nutt for this nice tip!

Debugging NuttX on Atmel SAM L21 microcontroller with J-Link programmer

Run JLink GDB server this way:

$ JLinkGDBServer -device ATSAML21J18 -if SWD

Execute GDB passing the ELF file:

$ arm-none-eabi-gdb nuttx

Connect to GDB server:

(gdb) target remote localhost:2331
Remote debugging using localhost:2331
0xfffffffe in ?? ()

Reset, load, add breakpoint and continue:

(gdb) monitor reset
Resetting target

(gdb) load nuttx
Loading section .text, size 0xc758 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0xc758
Loading section .data, size 0x70 lma 0xc760
Start address 0xa4, load size 51152
Transfer rate: 12488 KB/sec, 3410 bytes/write.

(gdb) b os_start
Breakpoint 1 at 0x3130: file init/os_start.c, line 260.

(gdb) c
Continuing.

(gdb) step

Fix the Ubuntu blinking mouse cursor

If you just installed Ubuntu 14.4 LTS and you get annoyed by mouse cursor blinking all the time, then you get fix it disabling the “Unknown Display”.

Open the Unity Control Center clicking in the gear icon at application bar or executing the command “unity-control-center –overview”.

Then click in the “Displays” icon and in the new screen click on “Unknown Display” and change it from “ON” to “OFF” to disable it.

Finally click on Apply and the cursor will stop to blink.

Using the Nintendo Wii Nunchuk Joystick in the STM32F4Discovery running NuttX

I created a simple NuttX sensor driver (I will implement a joystick driver and send to NuttX mainline) to use Nunchuk Joystick with STM32F4Discovery running NuttX.

We have two options to see the NuttX serial console on STM32F4Discovery board: 1) Connect a USB/Serial dongle to UART pins or 2) Use the “usbnsh” configuration to get the serial console in the MicroUSB port (CN5).

I opted to use the UART pins because I have many USB/Serial dongle here.

The NuttX serial console for STM32F4Discovery board is on UART2:

PIN   |   FUNCTION
------------------
PA2   |    TX
PA3   |    RX

Then all I need to do is to connect the dongle GND signal to board GND, RX signal to PA2 pin (TX) and TX signal to PA3 pin (RX).

After getting the NuttX running in the board I connected a Nunchuk receptacle connector (I cut it from a Wii Mote damaged board) to STM32F4Discovery.

I’m using I2C 1 in the pins PB7 and PB8:

/* I2C config to use with Nunchuk PB7 (SDA) and PB8 (SCL) */

#define GPIO_I2C1_SCL  GPIO_I2C1_SCL_2
#define GPIO_I2C1_SDA  GPIO_I2C1_SDA_1

This is the Nunchuk to STM32F4Discovery wiring connection:

---------------------------------
  Nunchuk  |   STM32F4Discovery
-----------|---------------------
     1     |       PB7
     2     |       NC
     3     |       3V
     4     |       PB8
     5     |       NC
     6     |       GND

This is the Nunchuk pinout:
nunchuk_pinout

The Nunchuk can be detected at I2C address 0x52. And to initialize it you need to write “0x40 0x00” (write 0x00 in the register 0x40).

This is the command used to debug the reading of data:

nsh> dd if=/dev/nunchuk0 of=/dev/null bs=6 count=1 
 X: 114 | Y: 126 | Buttons: 3 
nsh> 

More than one thousands words:
nunchuk_connection

Listing of projects devoted to IoT

There are many open-source “Deus-ex” solution for IoT (a flashion name), then I decided to list some of these projects here:

AllJoyn (an AllSeen Alliance framework):
https://allseenalliance.org/developers/download

Arduino – the King of hobbyist IoT (without Internet) :
http://www.arduino.cc

Blynk – to create Android and iOS User Interfaces:
https://pushover.net

Contiki – The Open Source OS for the Internet of Things (they are biased):
http://www.contiki-os.org

Freeboard – A Web Dashboard for IoT visualization:
http://freeboard.io

IoTSyS – Internet of Things integration middleware:
https://code.google.com/p/iotsys

IoTivity – IoT Communication Framework, it uses CoAP protocol
https://iotivity.org

JerryScript – It is a JavaScript engine for IoT:
https://github.com/jerryscript-project/jerryscript

Kosmos – A Temboo platform for IoT
https://blog.temboo.com/all-about-kosmos/

LiteOS – It appears Huawei is using it for their 10Kb RTOS:
http://www.liteos.net

Mbed OS (from ARM):
http://mbed.org

MicroCoAP:
https://github.com/1248/microcoap

MongooseOS – an IoT firmware development framework
https://mongoose-os.com/mos.html

Mosquitto MQTT Brokwer:
http://mosquitto.org

Node-Red A visual tool for wiring the Internet of Things:
http://nodered.org

NuttX – The best RTOS for IoT (sorry I’m biased) :
http://nuttx.org

Particle – Open Software/Hardware for IoT:
https://www.particle.io

PushOver for notification:
https://pushover.net

Qeo communication framework:
http://www.qeo.org

RIOT-OS – The friendly OS for IoT:
https://github.com/RIOT-OS

RT-OCF:
https://github.com/intel/tinycbor

Soletta Project is a framework for making (Linux)IoT devices (Stalled since 2018):
https://github.com/solettaproject/soletta

Splunk – Visualize servers and device log data
http://www.splunk.com

ThingsBoard
https://thingsboard.io

ThingSpeak – A open and free platform to store and visualize sensor data online:
https://thingspeak.com

The Thing System:
thethingsystem.com

Tinq is a software framework for device data exchange (based on Qeo) :
https://github.com/brunodebus/tinq-core

TinyCBOR:
https://github.com/intel/tinycbor

V7 (formely) mJS is a JavaScript engine for microcontrollers:
https://github.com/cesanta/mjs

VIPER – Python for IoT:
http://www.viperize.it

I am sure it is missing more some thousand of open-source projects. Give me a hint!

More info: http://www.datamation.com/open-source/35-open-source-tools-for-the-internet-of-things-1.html

Listing of Open Source Ladder editors

I am looking for open-source ladder editors:

ClassicLadder is a Ladder/Grafcet editor for Linux/Windows in C:
http://sourceforge.net/projects/classicladder/

Soapbox is a Ladder editor in C#:
http://soapboxautomation.com/products/soapbox-snap/

Waltech LadderMaker editor in Python:
http://www.waltech.com/open-source-designs/

LDmicro Ladder Editor/Compiler for PIC and AVR (Windows only) :
http://cq.cx/ladder.pl

OpenPLC Ladder Editor in C++ (code based on LDmicro) :
https://github.com/thiagoralves/OpenPLC-Ladder-Editor

Other projects related to it:

Beremiz is complete automation solution based on MatPLC, PLCopen Editor, CanFestival, etc :
http://www.beremiz.org

Open Hardware for Industrial Automation:
http://www.industrialshields.com/index.php?route=common/home

Using OLinuxino in an automation solution:
http://leachy.homeip.net/olinuxino/classic_ladder.html

MBLogic is automation solution developed in Python:
http://mblogic.sourceforge.net/software/software.html

Don’t get fooled by git

It is strange, I “git add” a directory and then rename a file inside it to another name and pushed it to github. Then when cloned again from github noticed the rename file wasn’t there.

So you need to pay attention when renaming files…

Then I order to avoid mistake I decided to document how I’m doing things:

$ git clone https://github.com/getfilament/NuttX-L21.git
...
$ git fetch origin master
$ git merge origin/master
...
Modify/Git Add if new file/
...
$ git push        ... or ...      $ git push origin master
...

That is it!

Flashing NuttX on SAML21 microcontroller

I was trying to use OpenOCD and STLink-v2 to flash a board powered by Atmel SAML21 microcontroller, using this openocd.cfg:

# SAML21 X Pro Target

# Using stlink as SWD programmer
source [find interface/stlink-v2.cfg]

# SWD as transport
transport select hla_swd

# Use SAML21 target
set WORKAREASIZE 0x4000
source [find target/at91samdXX.cfg]

But OpenOCD was reporting this error:

Warn : UNEXPECTED idcode: 0x0bc11477
Error: expected 1 of 1: 0x4ba00477 

Then I modified at91samdXX.cfg replacing 0x4ba00477 by 0x0bc11477, but the “reset halt” command was failing.

Then I decided to use a J-Link programmer:

$ sudo JLinkExe
SEGGER J-Link Commander V4.98e ('?' for help)
Compiled May  5 2015 11:49:39
DLL version V4.98e, compiled May  5 2015 11:49:35
Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46
Hardware: V8.00
S/N: 268006167 
OEM: SEGGER-EDU 
Feature(s): FlashBP, GDB 
VTarget = 3.300V
Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000
Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000
No devices found on JTAG chain. Trying to find device on SWD.
Info: Found SWD-DP with ID 0x0BC11477
Info: Found Cortex-M0 r0p1, Little endian.
Info: FPUnit: 4 code (BP) slots and 0 literal slots
Info: CoreSight components:
Info: ROMTbl 0 @ 41003000
Info: ROMTbl 0 [0]: 9F0FC000, CID: B105100D, PID: 000BB4C0 ROM Table
Info: ROMTbl 1 @ E00FF000
Info: ROMTbl 1 [0]: FFF0F000, CID: B105E00D, PID: 000BB008 SCS
Info: ROMTbl 1 [1]: FFF02000, CID: B105E00D, PID: 000BB00A DWT
Info: ROMTbl 1 [2]: FFF03000, CID: B105E00D, PID: 000BB00B FPB
Info: ROMTbl 0 [1]: 00003000, CID: B105900D, PID: 001BB932 MTB-M0+
Cortex-M0 identified.
Target interface speed: 100 kHz

J-Link>exec device = ATSAML21J18
Info: Device "ATSAML21J18" selected.

J-Link>loadbin /tmp/nuttx.bin, 0x0
Downloading file [/tmp/nuttx.bin]...
**************************
WARNING: CPU is running at low speed (5301 kHz).
**************************

Info: J-Link: Flash download: Flash programming performed for 1 range (44288 bytes)
Info: J-Link: Flash download: Total time needed: 7.121s (Prepare: 0.698s, Compare: 0.255s, Erase: 0.000s, Program: 6.106s, Verify: 0.009s, Restore: 0.051s)
O.K.
J-Link>

J-Link>r
Reset delay: 0 ms
Reset type NORMAL: Resets core & peripherals via SYSRESETREQ & VECTRESET bit.

J-Link>g

J-Link also detected the same idcode: 0x0bc11477 (I think this is the ID for Cortex-M0 microcontroller), then OpenOCD is correct. Using J-Link I got nuttx.bin flashed correctly.

Now I need to investigate about the STLink-v2 reset issue.

Modifying the original NOR Flash layer of IP Camera to support a big uncompressed kernel

The original VStarCAM H6837WI NOR flash reserves only 1.5MiB for Kernel, 4MiB for main rootfs and about 2.3MiB for IPCamFS.

Then I decided to increase the kernel size to 3.3MiB, the my layout becomes:

[ 0.870000] 0x000000000000-0x000000030000 : "ARMboot"
[ 0.880000] 0x000000030000-0x000000390000 : "Kernel"
[ 0.890000] 0x000000390000-0x000000770000 : "RootFS"
[ 0.900000] 0x000000770000-0x0000007f0000 : "IpcamFS"
[ 0.910000] 0x0000007f0000-0x000000800000 : "param"

These are the mtd partition size:

# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00030000 00010000 "ARMboot"
mtd1: 00360000 00010000 "Kernel"
mtd2: 003e0000 00010000 "RootFS"
mtd3: 00080000 00010000 "IpcamFS"
mtd4: 00010000 00010000 "param"

This is the command I used to create the decompressed kernel uImage :

$ mkimage -A arm -O linux -T kernel -C none -a 0x50C08000 -e 0x50C08000 -n '2.6.24ssl' -d arch/arm/boot/Image uImage
Image Name:   2.6.24ssl
Created:      Tue Jun  2 17:21:23 2015
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    2737056 Bytes = 2672.91 kB = 2.61 MB
Load Address: 0x50C08000
Entry Point:  0x50C08000

This is the bootargs to map this new layout:

bootargs=mtdparts=physmap-flash.0:192k(ARMboot)ro,3456k(Kernel),3968k(RootFS),512k(IpcamFS),-(param) mem=20M console=ttyS0,115200n8 init=/sbin/init root=/dev/mtdblock2

Flashing Kernel:

object$ loady
object$ erase 0x10030000 0x1038FFFF
object$ cp.b 0x50C07FC0 0x10030000 0x360000

Flashing RootFS:

object$ erase 0x10390000 0x1076FFFF
object$ loady
object$ cp.b 0x50C07FC0 0x10390000 0x200000
object$ loady
object$ cp.b 0x50C07FC0 0x10590000 0x1E0000

Flashing IpcamFS:

object$ loady
object$ erase 0x10770000 0x107EFFFF
object$ cp.b 0x50C07FC0 0x10770000 0x80000

Flashing param:

object$ loady
object$ protect off 1:134 
object$ erase 0x107F0000 0x107FFFFF
object$ cp.b 0x50C07FC0 0x107F0000 0x10000
object$ protect on 1:134 

Now I can boot but I’m facing a segmentation fault:

U-Boot 1.1.6 (May 19 2011 - 16:36:28)

DRAM:  64 MB
Flash:  8 MB
In:    serial
Out:   serial
Err:   serial
 0 

 Starting kernel ...

[    0.000000] Linux version 2.6.24ssl (alan@devmac) (gcc version 3.4.6) #3 PREEMPT Thu Jun 4 18:16:01 EDT 2015
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[    0.000000] Machine: object h264 ipcam
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] CPU0: D VIVT write-back cache
[    0.000000] CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
[    0.000000] CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
[    0.000000] Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 5080
[    0.000000] Kernel command line: mtdparts=physmap-flash.0:192k(ARMboot)ro,3456k(Kernel),3968k(RootFS),512k(IpcamFS),-(pa2
[    0.000000] intc: init info - ver=1,0
[    0.000000] gpio: init info - ver=1,0 
[    0.000000] clock: init info - ver=1,0 
[    0.000000] MAGUS Clocks : ARM-240.000 MHz, HCLK-120.000 MHz, PCLK-60.000 MHz, PERCLK1-60.000 MHz, PERCLK2-24.000 MHz
[    0.000000] PID hash table entries: 128 (order: 7, 512 bytes)
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [ttyS0] enabled
[    0.010000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.020000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.030000] Memory: 20MB = 20MB total
[    0.030000] Memory: 17180KB available (2768K code, 221K data, 76K init)
[    0.270000] Mount-cache hash table entries: 512
[    0.270000] CPU: Testing write buffer coherency: ok
[    0.290000] net_namespace: 64 bytes
[    0.300000] NET: Registered protocol family 16
[    0.330000] dma: init info - ver 1.0 fifosize=128, 8 channels
[    0.330000] MAGUS cpu freq change driver v1.0
[    0.340000] 
[    0.340000] cpufreq: magus_set_target: request for target_freq = 240000 KHz
[    0.350000] cpufreq: magus_set_target: cur_pll_out = 240000 KHz, cur_arm_freq = 240000 KHz
[    0.380000] SCSI subsystem initialized
[    0.390000] usbcore: registered new interface driver usbfs
[    0.400000] usbcore: registered new interface driver hub
[    0.410000] usbcore: registered new device driver usb
[    0.470000] NET: Registered protocol family 2
[    0.570000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.580000] TCP established hash table entries: 1024 (order: 1, 8192 bytes)
[    0.590000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.590000] TCP: Hash tables configured (established 1024 bind 1024)
[    0.600000] TCP reno registered
[    0.630000] Power Management for MAGUS. V0.1.1
[    0.630000] NetWinder Floating Point Emulator V0.97 (extended precision)
[    0.650000] JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.660000] io scheduler noop registered
[    0.660000] io scheduler deadline registered (default)
[    0.690000] Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
[    0.700000] ttyS0: autoconf (0x0000, 0xf000300c): uart: id=7000041
[    0.700000] type=16550A
[    0.710000] serial8250: ttyS0 at MMIO 0x0 (irq = 16) is a 16550A
[    0.710000] ttyS1: autoconf (0x0000, 0xf000400c): uart: id=7000041
[    0.720000] type=16550A
[    0.720000] serial8250: ttyS1 at MMIO 0x0 (irq = 17) is a 16550A
[    0.730000] dm9000a Ethernet Driver
[    0.740000] Driver 'sd' needs updating - please use bus_type methods
[    0.740000] Driver 'sr' needs updating - please use bus_type methods
[    0.760000] physmap platform flash device: 00800000 at 10000000
[    0.760000] physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
[    0.770000]  Amd/Fujitsu Extended Query Table at 0x0040
[    0.780000] number of CFI chips: 1
[    0.780000] cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
[    0.790000] 5 cmdlinepart partitions found on MTD device physmap-flash.0
[    0.790000] Creating 5 MTD partitions on "physmap-flash.0":
[    0.800000] 0x00000000-0x00030000 : "ARMboot"
[    0.810000] 0x00030000-0x00390000 : "Kernel"
[    0.820000] 0x00390000-0x00770000 : "RootFS"
[    0.820000] 0x00770000-0x007f0000 : "IpcamFS"
[    0.830000] 0x007f0000-0x00800000 : "param"
[    0.840000] spi: init info - ver=1.0 fifo=16 slaves=5 master=1
[    0.850000] spi: init info - ver=1.0 fifo=16 slaves=5 master=1
[    0.860000] Initializing USB Mass Storage driver...
[    0.870000] usbcore: registered new interface driver usb-storage
[    0.870000] USB Mass Storage support registered.
[    0.880000] usbcore: registered new interface driver libusual
[    0.880000] i2c /dev entries driver
[    0.900000] i2c: init info - ver=1,0
[    0.900000] 
[    0.900000] cpufreq: magus_set_target: request for target_freq = 240000 KHz
[    0.910000] cpufreq: magus_set_target: cur_pll_out = 240000 KHz, cur_arm_freq = 240000 KHz
[    0.920000] Advanced Linux Sound Architecture Driver Version 1.0.15 (Tue Nov 20 19:16:42 2007 UTC).
[    0.930000] ASoC version 0.13.1
[    0.940000] ALSA device list:
[    0.940000]   No soundcards found.
[    0.940000] TCP cubic registered
[    0.950000] NET: Registered protocol family 1
[    0.950000] NET: Registered protocol family 17
[    0.960000] VFS: Can't find an ext2 filesystem on dev mtdblock2.
[    0.980000] VFS: Mounted root (cramfs filesystem) readonly.
[    0.990000] Freeing init memory: 76K
/usr/bin/sdupdate: error while loading shared libraries: libgpioctrl.so: cannot open shared object file: No such file or diy
[    3.600000] Micrel KSZ8851 driver with MLL interface
[    3.600000] io fc000000 fc000000
[    3.600000] Micrel KSZ8851 1.0.4 (Apr 23, 2009)
[    3.610000] zqh base:fc000000
[    3.610000] read ID by zqh
[    3.620000] Unable to handle kernel paging request at virtual address fc000004
[    3.620000] pgd = c0c04000
[    3.640000] [fc000004] *pgd=00000000
[    3.640000] Internal error: Oops: 805 [#1] PREEMPT
[    3.640000] Modules linked in: device
[    3.640000] CPU: 0    Not tainted  (2.6.24ssl #3)
[    3.640000] PC is at dev_probe+0x90/0x444 [device]
[    3.640000] LR is at vprintk+0x354/0x3b0
[    3.640000] pc : []    lr : []    psr: 40000013
[    3.640000] sp : c1357238  ip : c13571ac  fp : c1357e2c
[    3.640000] r10: fc000000  r9 : c0c30000  r8 : 00000ba4
[    3.640000] r7 : c1357254  r6 : c0305a3c  r5 : c0c30000  r4 : c0c30000
[    3.640000] r3 : fc000000  r2 : 000030c0  r1 : 00000001  r0 : 00000021
[    3.640000] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[    3.640000] Control: 0005317f  Table: 51804000  DAC: 00000015
[    3.640000] Process insmod (pid: 183, stack limit = 0xc1356258)
[    3.640000] Stack: (0xc1357238 to 0xc1358000)
[    3.640000] 7220:                                                       00000000 00000000 
[    3.640000] 7240: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7260: ffffffff 00000020 00000000 fc000000 fc000000 00000000 00000000 bede3f85 
[    3.640000] 7280: 00000011 40014602 00000002 400145d4 00000024 40014606 00000002 4001dd7f 
[    3.640000] 72a0: 0000000e 400145fc 00000002 4001dd60 0000001e 400145fc 00000002 40014c38 
[    3.640000] 72c0: 00000019 40014612 00000001 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 72e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7300: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7320: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7340: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7360: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7380: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 73a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 73c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 73e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7400: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7420: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7440: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7460: 00000000 00000000 4001d000 fffffffe 40006110 00000000 00000000 00000000 
[    3.640000] 7480: 00000000 00000000 4001dd7f 4001dd60 00000002 4001d000 bede3988 bede34a8 
[    3.640000] 74a0: 4000c838 4000c3dc 4000b8cc 40014600 bede3f85 4001d000 4001dd7f 400145fc 
[    3.640000] 74c0: 4001dd60 400145fc 40014c38 7273752f 62696c2f 62696c00 6f697067 6c727463 
[    3.640000] 74e0: 006f732e 6f732e6c 732e6c00 2e6c006f 2e006f73 00006f73 00050718 4001ce14 
[    3.640000] 7500: bede34d5 00000018 00000001 00000000 4001cf3c 00000000 0000000f 00008445 
[    3.640000] 7520: 00001f02 00000000 00000000 00001864 000041ff 00000001 00000000 00000000 
[    3.640000] 7540: 00000000 00000000 00000000 00000168 00000000 00001000 00000001 00000000 
[    3.640000] 7560: 00000000 00000000 00000000 00000000 00000000 00000000 00001864 00000000 
[    3.640000] 7580: 4001d700 00008445 4001d700 4001d700 00008445 4001d700 00000000 ffffffff 
[    3.640000] 75a0: 00000000 4001d000 40006e80 bede35d4 bede35d8 00000000 00000000 00000000 
[    3.640000] 75c0: 00000000 00000000 0000000f 00000001 00000000 00000000 00000000 00000000 
[    3.640000] 75e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7600: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7620: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7640: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7660: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7680: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 76a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 76c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 76e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7700: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7720: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7740: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7760: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7780: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 77a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 77c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 bede3940 
[    3.640000] 77e0: 00008445 00000000 00008445 bede38ec 4001d700 4001d000 bede3988 4000a524 
[    3.640000] 7800: 00000000 00000000 00000000 00000000 4000ba3c 4001d640 bede3940 4000a4e0 
[    3.640000] 7820: bede3938 bede393c 4001dd7f 4001dd60 00011474 00008445 00000000 00008445 
[    3.640000] 7840: bede38ec 4001d700 4001d000 bede3988 bede3814 4000ba1c 00000000 00000000 
[    3.640000] 7860: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7880: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 78a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 78c0: 00000000 00000000 00000000 00011474 00008445 00000000 00008445 00000001 
[    3.640000] 78e0: 4001d700 4001d000 4000b3d0 00000001 4001d700 00000000 4001ce62 00000004 
[    3.640000] 7900: 4001ce80 f43e1a80 0098963a cda2d282 c1357960 c1357920 c00338a8 c0112eb0 
[    3.640000] 7920: c02ef090 00989680 00000000 f4d6b100 0098963a c02ef098 c02eecc8 c02eecc8 
[    3.640000] 7940: c0379340 c02f317c c1357a88 00000000 00000000 c02eecf8 00000400 c02eec3c 
[    3.640000] 7960: c02eecf8 00000000 c13579a0 c1357978 c0033ec4 c0033a80 c02eec3c c02eecf8 
[    3.640000] 7980: 00000400 c02eecc8 c02ef0bc c1356000 00000000 c13579b8 c13579a4 c103fcb4 
[    3.640000] 79a0: 00000003 00000001 00000000 60000013 00770028 00000000 c13579ec c13579c8 
[    3.640000] 79c0: c0036ed0 c0035068 00000000 00770028 c103fc60 c1020ca4 c1020ca4 c103fc98 
[    3.640000] 79e0: c1357a14 c13579f0 c015b46c c0036e88 c103fc60 00770028 c103fc60 c02de5e0 
[    3.640000] 7a00: 00000000 00000000 c02de5bc c02de5bc c1357a48 c1357a20 c03213c0 c1038ad0 
[    3.640000] 7a20: 00000001 00000001 00000001 00000001 00000001 c03a8460 00000000 c1039830 
[    3.640000] 7a40: 00000008 c1356000 00000008 00000000 c1357b28 c1357a60 c0101004 c0100d90 
[    3.640000] 7a60: c1357a8c c1357a70 c0082f1c c0112eb0 c1038ad0 c1038ad0 00000000 c03816a0 
[    3.640000] 7a80: c1357a9c c1357a90 c0066658 c0082f08 c1357ad4 c03a8460 c03a8460 c006664c 
[    3.640000] 7aa0: c02eecf8 0000046e c02eec3c c02eecf8 00000000 00000000 c1038ad0 00000000 
[    3.640000] 7ac0: 00000000 c1020ce0 c1020ce0 00000008 c1357af4 c1357ae0 c00fedd0 c010e290 
[    3.640000] 7ae0: c1020ce0 c1039830 c1357b10 c1357af8 c0107298 c00fed6c 00010404 c1020ce0 
[    3.640000] 7b00: c1039830 00000000 feced300 ffffffff c0387658 c1357b4c c1357b24 c0033c9c 
[    3.640000] 7b20: c010e290 00000001 c02eec80 c039e690 00000000 c0062668 c1042000 c02de5e0 
[    3.640000] 7b40: 00000000 00000000 c02de5bc c02de5bc c1357b88 c1357b60 c0067ee4 c0067254 
[    3.640000] 7b60: c02de5e0 00000000 00000001 00000000 c02de5bc 001200d2 00000000 c1357bb0 
[    3.640000] 7b80: c1357b8c c0068134 c0035068 c02de5bc c02de5d4 60000013 c02de5bc c13f2aac 
[    3.640000] 7ba0: 00000000 c1357bf4 c1357bb4 c00683b8 c0035068 00000000 00000000 00000000 
[    3.640000] 7bc0: 00000000 c02dedd4 00000044 c02dedd4 001200d2 c02dedd0 fd2eec00 0098963a 
[    3.640000] 7be0: d693a402 c1357c34 c1357bf4 c00338a8 c0112eb0 c02ef090 00989680 00000000 
[    3.640000] 7c00: fdc78280 0098963a c02ef098 c02eecc8 c02eecc8 c0379340 c02f317c c1357d5c 
[    3.640000] 7c20: 00000000 00000000 c02eecf8 0000086e c02eec3c c02eecf8 00000000 c1357c74 
[    3.640000] 7c40: c1357c4c c0033ec4 c0033a80 c02eec3c c02eecf8 0000086e c02eecc8 c02ef0bc 
[    3.640000] 7c60: c1356000 00000036 c1357c8c c1357c78 c0034510 c0033e70 fdc78280 0098963a 
[    3.640000] 7c80: d72c3a82 c1357cd4 c1357c94 c00338a8 c0112eb0 c02ef090 00000000 00000000 
[    3.640000] 7ca0: fdc78280 0098963a c02ef098 c02eecc8 c02eecc8 c02efc89 c02d658c 00000001 
[    3.640000] 7cc0: 60000013 00000024 c1357ce8 c1357cd8 c1357cfc c1357ce0 c01351f4 c01333d0 
[    3.640000] 7ce0: c02efcaa 00000021 c0135148 c03040ec c1357d20 c1357d00 c013290c c0135158 
[    3.640000] 7d00: c03040ec 00000021 c02efc89 00000093 00000001 c1357d48 c1357d24 c0135374 
[    3.640000] 7d20: c0035068 c02e50bc 000022a9 000022ca c02d658c fffff000 00000024 c1357d64 
[    3.640000] 7d40: c1357d4c c003b41c c0135214 000022ca c02d655c 60000093 c1357d7c c1357d68 
[    3.640000] 7d60: c003b4bc c003b3ac 000022ca 000022ca c1357da0 c1357d80 c003ba78 c003b830 
[    3.640000] 7d80: c1356000 00000000 c02d6568 c02ef948 00000034 c1357e0c c1357da4 c003be38 
[    3.640000] 7da0: c0035068 00094ed0 5b3e343c 20202020 31362e33 30303030 c100205d c0068e1c 
[    3.640000] 7dc0: c0035068 00000000 00000000 c1357e83 0000000a c1357e54 ffffffff 00000002 
[    3.640000] 7de0: c1357e80 c0c30000 00000000 c0305a3c c0c30000 c1868594 000030c0 c1862000 
[    3.640000] 7e00: c1357e1c c0c30000 c0c30000 c0305a3c c0c30000 c1868594 00000000 c1862000 
[    3.640000] 7e20: c1357e88 c1357e30 bf009044 bf004bec c01bea78 c010f260 c0305a3c c0c32000 
[    3.640000] 7e40: c0c30000 00000004 c1357e80 c0c30000 c1868594 c0c30000 00000004 c010effc 
[    3.640000] 7e60: c0c30000 c0c30000 c0305a3c 00000016 c1868594 00000000 c1862000 c1357ea8 
[    3.640000] 7e80: c1357e8c c01c298c bf009010 c1357ea8 c0c30000 00000000 bf007800 c1357ec0 
[    3.640000] 7ea0: c1357eac c01c2c60 c01c293c c0c30000 00000000 c1357ed8 c1357ec4 bf0096f8 
[    3.640000] 7ec0: c01c2c2c bf007800 00000000 c1357fa4 c1357edc c005d470 bf009684 00000000 
[    3.640000] 7ee0: 00000348 c0216310 c0216310 000001ec 00000034 00000016 c01b90e8 bf0067f4 
[    3.640000] 7f00: 00000000 0000012f 0000012f 00000054 00000050 0000003c c1356000 00000000 
[    3.640000] 7f20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[    3.640000] 7f40: 00000008 00000000 0000000f 00000000 00000000 00000009 00000015 00000014 
[    3.640000] 7f60: c1869bf4 c102d420 c18684e4 be9f3f58 be9f3e94 00000000 00000000 0000a038 
[    3.640000] 7f80: be9f3f51 be9f3e94 00000080 c001c024 c1356000 0006c784 00000000 c1357fa8 
[    3.640000] 7fa0: c001be80 c005bf68 be9f3f51 be9f3e94 00900080 00088060 0000a038 00088050 
[    3.640000] 7fc0: 0000a038 be9f3f51 be9f3e94 00000000 be9f3f58 be9f3e94 0006c784 00085324 
[    3.640000] 7fe0: be9f3c9c be9f3c90 00012bc4 401b8570 60000010 00900080 00657461 00000000 
[    3.640000] Backtrace: 
[    3.640000] [] (dev_probe+0x0/0x444 [device]) from [] (ks8851_netdev_init+0x44/0x674 [device])
[    3.640000] [] (ks8851_netdev_init+0x0/0x674 [device]) from [] (register_netdevice+0x60/0x2f0)
[    3.640000] [] (register_netdevice+0x0/0x2f0) from [] (register_netdev+0x44/0x54)
[    3.640000]  r6:bf007800 r5:00000000 r4:c0c30000
[    3.640000] [] (register_netdev+0x0/0x54) from [] (init_module+0x84/0xd4 [device])
[    3.640000]  r5:00000000 r4:c0c30000
[    3.640000] [] (init_module+0x0/0xd4 [device]) from [] (sys_init_module+0x1518/0x1594)
[    3.640000]  r5:00000000 r4:bf007800
[    3.640000] [] (sys_init_module+0x0/0x1594) from [] (ret_fast_syscall+0x0/0x2c)
[    3.640000] Code: eb40dc8c e5973018 e3a02dc3 e18720b8 (e1c320b4) 
[    3.650000] ---[ end trace fad711ab882f40be ]---
Segmentation fault
[    3.730000] piu reg start addr 0xc1862000, phy addr 0xd0132000
[    3.740000] PIU driver loaded - mem @ 0x503FFF00
[    3.960000] vpp in maj=252
[    4.160000] VIP: Module has been loaded into the kernel 
[    4.360000] DV Module loaded into the kernel 
[    4.940000] enter magus_init func
[    4.950000] PM: Adding info for platform:soc-audio
[    4.970000] wm8731: WM8731 Audio Codec 0.13
[    4.980000] exit magus_init func OK, device added
[    5.790000] PM: Adding info for No Bus:gadget
[    5.890000] sslotg: Set Magus as Host.
[    5.890000] otg: init info - ver=0041
[    5.890000] PM: Adding info for platform:ehci
[    5.910000] ehci ehci: ssl ehci
[    5.940000] drivers/usb/core/inode.c: creating file 'devices'
[    5.940000] drivers/usb/core/inode.c: creating file '001'
[    5.970000] ehci ehci: new USB bus registered, assigned bus number 1
[    5.970000] ehci ehci: park 0
[    5.990000] ehci ehci: irq 14, io mem 0x08403000
[    6.000000] ehci ehci: reset command 080b02 park=3 ithresh=8 period=1024 Reset HALT
[    6.010000] ehci ehci: init command 010009 (park)=0 ithresh=1 period=256 RUN
[    6.030000] ehci ehci: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
[    6.030000] usb usb1: default language 0x0409
[    6.040000] PM: Adding info for usb:usb1
[    6.040000] usb usb1: uevent
[    6.080000] usb usb1: usb_probe_device
[    6.090000] PM: Adding info for No Bus:usbdev1.1_ep00
[    6.100000] usb usb1: configuration #1 chosen from 1 choice
[    6.100000] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[    6.120000] PM: Adding info for usb:1-0:1.0
[    6.120000] usb 1-0:1.0: uevent
[    6.160000] hub 1-0:1.0: usb_probe_interface
[    6.160000] hub 1-0:1.0: usb_probe_interface - got id
[    6.170000] hub 1-0:1.0: USB hub found
[    6.170000] hub 1-0:1.0: 1 port detected
[    6.200000] hub 1-0:1.0: standalone hub
[    6.200000] hub 1-0:1.0: individual port power switching
[    6.200000] hub 1-0:1.0: individual port over-current protection
[    6.250000] hub 1-0:1.0: Single TT
[    6.250000] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
[    6.270000] hub 1-0:1.0: power on to power good time: 20ms
[    6.270000] hub 1-0:1.0: local power source is good
[    6.280000] hub 1-0:1.0: enabling power on all ports
[    6.390000] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
[    6.390000] PM: Adding info for No Bus:usbdev1.1_ep81
[    6.430000] PM: Adding info for No Bus:usbdev1.1
[    6.440000] drivers/usb/core/inode.c: creating file '001'
[    6.440000] ehci ehci: GetStatus port 1 status 10001803 POWER sig=j CSC CONNECT
[    6.450000] hub 1-0:1.0: port 1, status 0101, change 0001, 12 Mb/s
[    6.460000] usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
[    6.460000] usb usb1: Product: ssl ehci
[    6.480000] usb usb1: Manufacturer: Linux 2.6.24ssl ssl ehci
[    6.480000] usb usb1: SerialNumber: ssl_ehci
[    6.620000] hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
[    6.680000] hub 1-0:1.0: port 1 not reset yet, waiting 50ms
[    6.740000] CI reset done
[    6.740000] ehci ehci: GetStatus port 1 status 11001805 POWER sig=j PE CONNECT
[    6.810000] usb 1-1: new full speed USB device using ehci and address 2
[    6.880000] CI reset done
[    6.880000] ehci ehci: GetStatus port 1 status 11001805 POWER sig=j PE CONNECT
daemon: error while loading shared libraries: libgpioctrl.so: cannot open shared object file: No such [    6.980000] usb 1-b
file or directory
[    7.000000] usb 1-1: default language 0x0409
[    7.020000] PM: Adding info for usb:1-1
[    7.020000] usb 1-1: uevent
[    7.060000] usb 1-1: usb_probe_device
[    7.060000] PM: Adding info for No Bus:usbdev1.2_ep00
[    7.090000] usb 1-1: configuration #1 chosen from 1 choice
[    7.090000] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
[    7.100000] PM: Adding info for usb:1-1:1.0
[    7.110000] usb 1-1:1.0: uevent
[    7.130000] PM: Adding info for No Bus:usbdev1.2_ep81
[    7.170000] PM: Adding info for No Bus:usbdev1.2_ep01
[    7.190000] PM: Adding info for No Bus:usbdev1.2_ep02
[    7.220000] PM: Adding info for No Bus:usbdev1.2_ep03
[    7.260000] PM: Adding info for No Bus:usbdev1.2_ep04
[    7.280000] PM: Adding info for No Bus:usbdev1.2_ep05
[    7.360000] PM: Adding info for No Bus:usbdev1.2_ep06
[    7.380000] PM: Adding info for No Bus:usbdev1.2
[    7.400000] drivers/usb/core/inode.c: creating file '002'
[    7.400000] usb 1-1: new device strings: Mfr=1, Product=2, SerialNumber=3
[    7.410000] usb 1-1: Product: 802.11 n WLAN
[    7.410000] usb 1-1: Manufacturer: Ralink
[    7.420000] usb 1-1: SerialNumber: 1.0
encoder: error while loading shared libraries: libgpioctrl.so: cannot open shared object file: No such file or directory