What's inside the AI Thinker A6 GSM modem? 

I have not been able to find anything more detailed about the internals of the AI Thinker A6 GSM modem.

I bought one, fired up my heat air gun and:

We can see two major components:

A RDA8851MS controller and a RDA6625e frontend

At the same time I am looking for an SDK to it. So called CSDTK.
[ hozzászólás ] [ 0 trackbackek ] permalink ( 2.9 / 34 )
Getting started with NewPos NEW6210 mPOS 

I have got a NewPos NEW6210 mPOS to do some application development.

I wanted to get the development env rolling on my Ubuntu 14.04
The manual suggests using 32 bit RedHat Enterprise Server 6 x86 32bit version, but you know no pain no gain.

The documentation and the overall quality of the support is something what you expect from a typical chinese company. You got an FTP access and figure out what you need.

So let's get a gcc to compile a hello world. The official toolchain is based on a 32 bit glibc-oabi-toolchain-arm-generic compiler.

To get this tool working you will need a 32 bit build of the mpfr-2.4.2 (the manual lists it as reqirement too -- Because this toolchain uses a high grade version of GCC toolchain, --).
You can grab it from here:

Some things are changed around the gmp so replace all occurrences of __gmp_const with a simple const. (Do it with sed or whatever you like).
./configure --prefix=/usr "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
To compile it to 32 bit you will need to set the proper cflags.
./configure --prefix=/usr "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"

After installing it the cross compiler will claim about the missing libgmp.so.3.

Install the 32 bit version of the libgmp10 lib with:
sudo apt-get install libgmp10:i386

Then create a symlink:
sudo ln -s /usr/lib/i386-linux-gnu/libgmp.so /usr/lib/i386-linux-gnu/libgmp.so.3

Aaaannnd at this point we have a somewhat working crosscompiler.

ATM I cannot ssh to the target, as the manual says, so stay tuned!

I have a system bootlog from UART, which reveals some deeper details about the HW:

[secu] S-Boot: v1.0.6_C (2014-12-25 14:31:09)
[secu] DDR initialization...
[secu] Reset DDR Controller
[secu] Configuring DDR
[secu] mclk = 133, auto refresh = 0x3df
[secu] DDR DLL locked...!!!
[secu] Doing DDR data eye training sequence ....
[secu] DDR data eye training sequence passed...!!!
[secu] Tamper Status: None
[secu] Boot(3): 2016-08-30 12:34:08
[secu] NAND: ESMT NAND 128MiB 1,8V 16-bit, ID = 0xc8-0xb1
[secu] U-Boot loading from NAND 0x20000 ==> 0x41bfffc0 0x670e8 bytes
[secu] Switching to Open mode... Done
[open] Start U-Boot at 0x41c00000 ...
U-Boot 2011.12-svn499 (Jun 18 2015 - 09:16:15)
Copyright (C) 2012 by LiHua_338@163.com
U-Boot code: 41C00000 -> 41C60338 BSS: -> 41CA3338
CPU: BCM5892-0300
FCLK: 400 MHz
HCLK: 133 MHz
MCLK: 133 MHz
PCLK: 66 MHz
DRAM: 64 MiB
NAND: 128 MiB
*** Warning - bad CRC, using default environment
LCD Type: 320*240ch
hx8347_hw_init ID: 95
LCD Chip: 0x00008347
In: serial
Out: serial
Err: serial
Update by USB: None
Update by local: None
Hit any key to stop autoboot: 0

Search kernel...Creating 1 MTD partitions on "nand0":
0x000000600000-0x000004000000 : "mtd=2"
Loading kernel: 0%Loading file '/boot/uImage' to addr 0x40400000 with size 2153084 (0x0020da7c)...
Booting kernel ... ## Booting kernel from Legacy Image at 40400000 ...
Image Name: Linux-
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2152564 Bytes = 2.1 MiB
Load Address: 40008000
Entry Point: 40008000
Loading Kernel Image ... OK
Starting kernel ...
[ 0.460000] bootmemheap_init: Error - bootmemheap_setup() not called
INIT: version 2.88 booting

INIT: Entering runlevel: 3
$Install driver fusion: [ 4.050000] fusion: unable to register major 250. Registered 248 instead
[ OK ]
$Install driver bcm589x_otg: [ OK ]
$Install driver g_serial: [ OK ]
$Install driver bcm589x_spi: [ OK ]
$Install driver leds: [ OK ]
$Install driver beeper: [ OK ]
$Install driver matrix_keys: [ OK ]
$Install driver bcm5892_adc_driver: [ OK ]
$Install driver touch_screen: [ OK ]
$Install driver iso7816_uart: [ OK ]
$Install driver iccard: [ OK ]
$Install driver nfc: [ OK ]
$Install driver nfc_pn512: FATAL: Error inserting nfc_pn512 (/lib/modules/ No such device
$Install driver nfc_rc663: [ OK ]
$Install driver magstripe: [ OK ]
$Install driver idtechencmag: [ OK ]
$Install driver bcm589x_pm: [ OK ]
$Install driver dhd: [ OK ]
$Install driver pdriver: [ OK ]
$Install driver pdriver_file: [ OK ]
$Install driver pdriver_printer: [ OK ]
$Install driver pdriver_uart: [ OK ]
$Install driver modem: [ OK ]
$Install driver slnsp: [ OK ]
$Install driver cx930xx: [ OK ]
$Install driver bcm_new_udc_dwc: [ OK ]
$Starting mdev: [ OK ]
$Setting clock (localtime): Tue Aug 30 12:34:22 CEST 2016 [ OK ]
$Starting network: [ OK ]
$Starting system logger: [ OK ]
$Starting kernel logger: [ OK ]
$Starting system message bus: [ OK ]
$Starting system update:

[ hozzászólás ] ( 1 megtekintés ) [ 0 trackbackek ] permalink ( 2.8 / 35 )
Cisco conference phone - permanent DECT removal... 

I have been lucky to "legally" take apart some Cisco conference phones to PERMANENTLY remove the unused and unknown DECT functionality because if the locale is set to wrong country in the device it might cause some interfence with the UMTS frequencies which is illegal in my country and not tolerated well by the goverment agencies...

The DECT module is manufactured by the Dialog semi can be seen on the left. (SC14441) The main SoC, flash, RAM should live under the shield, but I have not delved more deeper because we wanted to keep the warranty (there are no stamped screws to provide evidence to the device tampering).

There are a plenty of unpopulated debug headers on the board (I think mostly JTAG).

The board has only oneintresting text on the silkscreen:
Beignet Base 1000706-00 revK
[ hozzászólás ] ( 1 megtekintés ) [ 0 trackbackek ] permalink ( 2.9 / 17 )
IQP500 camera conclusions... 

I have started to play with ESP8266, and remembered to an IPQ500 S55 camera module got from a friend a few years ago.
I have started to dream about a 6USD Wifi IP camera, but my dreams shortly fallen to ashes.

I have started experimenting with the following python script:

The code assumes that you need to pull the RTS and CTS pins by hand to low.

Ah yeah... I used to be lazy, so after some patching the code was able to drive these two pins with my CP2101 based UART converter's RTS and DTR pins. But the code did not worked (nothing came at the serial port after the camera was activated). Let's check with logic analyzer! The camera's baud was not exactly 19200 but ~19100 which gives 0.6% error. The cheapy UART converter have not tolerated that! Lets hook to the good old FTDI! It works. Good.

I was able to take picture with the python code.
Reopening a serialport in python will clear the RTS status, but changing baud rate on the fly does not have the same side effect.

The camera takes ~33K JPGs which is transferred ~3 seconds with the 115200. That would be poor for the video stream, so I thought that I will figure out how can the camera's baud rate increased. 921600 would fit well. But unfortunatelly the camera's protocoll is not documented and according to the other people reverse engineering results the camera does not have continous recording functionality.
So sad.

I have not given up the camera project I will look around for cellphone camera modules with SPI port with JPG encoder inside.

[ hozzászólás ] ( 1 megtekintés ) [ 0 trackbackek ] permalink ( 2.9 / 23 )
Avaya/Nortel 1120E IP Phone 

CPU: BCM1103
Flash: MX29LV640 (8MByte)
RAM: HY5DU561622ETP (32MByte)
2x Broadcom B5011A GbE PHY
LCD: Ultra Chip UC1611 (UC1611F8 is written to the flex part of the LCD)
Pictures later...
[ hozzászólás ] ( 1 megtekintés ) [ 0 trackbackek ] permalink ( 3.2 / 38 )

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Következő> >>