From: eLinux.org

VGF-CP1

Contents

Sony VAIO Canvas Online - Digital Picture Frame

http://bb.watch.impress.co.jp/cda/static/image/2008/05/07/cp101s.jpg

specification in brief:

  • Display Size: 7″
  • Pixel Format: 800 x 480
  • Internal Memory: 100MB (80MB for pic­tures, 15MB for audio)
  • External Storage: CF, MS, SD
  • Image Support: JPEG, BMP, PNG, GIF
  • Audio Support: MP3, WAV
  • CPU: 400Mhz ARM11 (i.MX31)
  • OS: Timesys Linux 2.6.19
  • Wireless: 802.11b/g
  • Availability: May 17, 2008

Firmware

Though the CP1 was available in the US and UK, there seems to be no
english firmware for download available. Two japanese firmware images
are available. You can flash them by just placing the .IMG file in a
sub-folder called ‘Update’.

  1. VGF-CP1 japanese firmware Ver.2.00.00.09032516: http://vcl.vaio.sony.co.jp/download/EP0000177017.html
  2. .IMG File: http://dlv.update.sony.net/pub/vaio/download/EP0000177017/EP0000177017.img
  3. VGF-CP1 japanese firmware Ver.1.01.00.08082520: http://vcl.vaio.sony.co.jp/download/EP0000162984.html
  4. .IMG File: http://dlv.update.sony.net/pub/vaio/download/EP0000162984/EP0000162984.img

Bootlog

Captured with serial interface (115200,8,n,1) on MX31 UART1.

``

  1. Linux 2.6 Freescale MXC processor
  2. Choose an option from below:
  3. 1. Load kernel to RAM and then boot from [0x80008000]
  4. 2. Change the Linux kernel destination loading address [0x80008000]
  5. 3. Enter command line option for kernel
  6. 4. Change command line option address [0x80000100]
  7. Please enter selection -> Timeout occured
  8. -->Booting from RAM...
  9. RAM size is 128MB
  10. Copying pages....
  11. -->Goint Start
  12. Copying pages....
  13. -->Goint Start
  14. -->Starting kernel...
  15. Uncompressing Linux............................................................................................................. done, booting the kernel.
  16. Linux version 2.6.19.2 (akatsuka@akatsuka2.sm.sony.co.jp) () #1 PREEMPT Fri Apr 25 10:29:51 JST 2008
  17. CPU: Some Random V6 Processor [4107b364] revision 4 (ARMv6TEJ), cr=00e5387f
  18. Machine: Sony IDAM
  19. Memory policy: ECC disabled, Data cache writeback
  20. CPU0: D VIPT write-back cache
  21. CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
  22. CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
  23. Built 1 zonelists. Total pages: 32128
  24. Kernel command line: initrd=0x83000000,8M root=/dev/ram0 rw console=ttymxc0,115200 ip=on
  25. MXC IRQ initialized
  26. PID hash table entries: 512 (order: 9, 2048 bytes)
  27. Actual CLOCK_TICK_RATE is 16625000 Hz
  28. Console: colour dummy device 80x30
  29. Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
  30. Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
  31. Memory: 64MB 64MB = 128MB total
  32. Memory: 118072KB available (2416K code, 601K data, 472K init)
  33. Mount-cache hash table entries: 512
  34. CPU: Testing write buffer coherency: ok
  35. checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
  36. Freeing initrd memory: 8192K
  37. NET: Registered protocol family 16
  38. MXC GPIO hardware
  39. system_rev is: 0x20
  40. Clock input source is 26000000
  41. Machine Type: iDAM
  42. L2 cache: WB
  43. Using SDMA I.API
  44. MXC DMA API initialized
  45. usb: Host 2 registered
  46. SCSI subsystem initialized
  47. CSPI: mxc_spi-0 probed
  48. CSPI: mxc_spi-1 probed
  49. usbcore: registered new interface driver usbfs
  50. usbcore: registered new interface driver hub
  51. usbcore: registered new device driver usb
  52. MXC I2C driver
  53. NET: Registered protocol family 23
  54. NET: Registered protocol family 2
  55. IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
  56. TCP established hash table entries: 4096 (order: 2, 16384 bytes)
  57. TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
  58. TCP: Hash tables configured (established 4096 bind 2048)
  59. TCP reno registered
  60. Low-Level PM Driver module loaded
  61. JFFS2 version 2.2. (NAND) (SUMMARY) (C) 2001-2006 Red Hat, Inc.
  62. io scheduler noop registered
  63. io scheduler anticipatory registered
  64. io scheduler deadline registered
  65. io scheduler cfq registered (default)
  66. Console: switching to colour frame buffer device 100x30
  67. mxcfb: fb registered, using mode SAMSUNG-WVGA-32
  68. MXC WatchDog Driver 2.0
  69. MXC Watchdog Timer: initial timeout 60 sec
  70. Serial: MXC Internal UART driver
  71. mxcintuart.0: ttymxc0 at MMIO 0x43f90000 (irq = 45) is a Freescale MXC
  72. mxcintuart.2: ttymxc2 at MMIO 0x5000c000 (irq = 18) is a Freescale MXC
  73. RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
  74. loop: loaded (max 8 devices)
  75. MXC MTD nor Driver 2.0
  76. mxc_nor_flash: probe of mxc_nor_flash.0 failed with error -5
  77. MXC MTD nand Driver 2.0
  78. NAND device: Manufacturer ID: 0xad, Chip ID: 0xdc (Hynix NAND 512MiB 3,3V 8-bit)
  79. Scanning device for bad blocks
  80. Bad eraseblock 732 at 0x05b80000
  81. Bad eraseblock 1450 at 0x0b540000
  82. Bad eraseblock 2678 at 0x14ec0000
  83. Bad eraseblock 2680 at 0x14f00000
  84. Bad eraseblock 3981 at 0x1f1a0000
  85. Creating 6 MTD partitions on "NAND 512MiB 3,3V 8-bit":
  86. 0x00000000-0x00040000 : "IPL-SPL"
  87. 0x00040000-0x00440000 : "nand.kernel"
  88. 0x00440000-0x00c40000 : "nand.rootfs"
  89. 0x00c40000-0x02c40000 : "nand.userreg"
  90. 0x02c40000-0x06c40000 : "nand.userprog"
  91. 0x06c40000-0x20000000 : "nand.userdata"
  92. fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
  93. fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
  94. write priority to fc004400 302154
  95. iram0 = 1ffc0000 iram1 = 1ffc0800
  96. fsl-ehci fsl-ehci.0: irq 36, io base 0x43f88400
  97. fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
  98. usb usb1: configuration #1 chosen from 1 choice
  99. hub 1-0:1.0: USB hub found
  100. hub 1-0:1.0: 1 port detected
  101. Initializing USB Mass Storage driver...
  102. usb 1-1: new high speed USB device using fsl-ehci and address 2
  103. usb 1-1: configuration #1 chosen from 1 choice
  104. hub 1-1:1.0: USB hub found
  105. hub 1-1:1.0: 2 ports detected
  106. usb 1-1.1: new high speed USB device using fsl-ehci and address 3
  107. usb 1-1.1: configuration #1 chosen from 1 choice
  108. scsi0 : SCSI emulation for USB Mass Storage devices
  109. usbcore: registered new interface driver usb-storage
  110. USB Mass Storage support registered.
  111. usbcore: registered new interface driver asix
  112. MXC keypad loaded
  113. input: mxckpd as /class/input/input0
  114. IPU Post-filter loading
  115. SSI module loaded successfully
  116. Advanced Linux Sound Architecture Driver Version 1.0.13 (Tue Nov 28 14:07:24 2006 UTC).
  117. Control ALSA component registered
  118. MXC audio support initialized
  119. ALSA device list:
  120. #0: MXC audio for iDAM
  121. TCP cubic registered
  122. NET: Registered protocol family 1
  123. NET: Registered protocol family 17
  124. VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 2
  125. RAMDISK: Compressed image found at block 0
  126. VFS: Mounted root (ext2 filesystem).
  127. Freeing init memory: 472K
  128. Using fallback suid method
  129. Using fallback suid method
  130. Using fallback suid method
  131. Using fallback suid method
  132. #/etc/rc.d/rcS start
  133. Using fallback suid method
  134. usb_address[0] 3
  135. scsi 0:0:0:0: Direct-Access Sony MCR-U HS-MS 5.58 PQ: 0 ANSI: 0
  136. sd 0:0:0:0: Attached scsi removable disk sda
  137. scsi 0:0:0:1: Direct-Access Sony MCR-U HS-CF 5.58 PQ: 0 ANSI: 0
  138. sd 0:0:0:1: Attached scsi removable disk sdb
  139. scsi 0:0:0:2: Direct-Access Sony MCR-U HS-SD 5.58 PQ: 0 ANSI: 0
  140. k3d_chk_one: ejected, device sda
  141. k3d_chk_one: ejected, device sdb
  142. sd 0:0:0:2: Attached scsi removable disk sdc
  143. k3d_chk_one: ejected, device sdc
  144. ysdev: module license 'unspecified' taints kernel.
  145. ysdev: Yosemite misc driver (Mar 13 2008)
  146. GPIO port 2 (0-based), pin 31 is already reserved!
  147. GPIO port 2 (0-based), pin 31 is already reserved!
  148. EnablePA=0x01
  149. PA Group #0: level=13dbm, Rate Bitmap=0x1800 (54 48 Mbps)
  150. PA Group #1: level=14dbm, Rate Bitmap=0x7e0 (36 24 18 12 9 6 Mbps)
  151. PA Group #2: level=16dbm, Rate Bitmap=0x0f (11 5.5 2 1 Mbps)
  152. eth0 version:sd2480-9.70.3.p20-26409.p43 (r208)
  153. #/usr/sony/etc/rcS start
  154. CLCDC_Init: major device 251
  155. CAMERA_Init: major device 250
  156. Loaded PowerVR consumer services.
  157. command : time
  158. Get time val : 1199232528
  159. set system clock : date 010200082008.48(1199232528)
  160. Wed Jan 2 00:08:48 UTC 2008
  161. Yostart was started in dll [2]
  162. Yostar:writeing pid=1064
  163. Yostart with CHECK was started in dll [2]
  164. Yostart was started in dll [6]
  165. Yostar:writeing pid=1066
  166. Yostart with CHECK was started in dll [6]
  167. ysem.c: 230: ysem_open: k != -1 failed
  168. ysem.c: 230: ysem_open: k != -1 failed
  169. Yostart was started in dll [42]
  170. Yostar:writeing pid=1069
  171. Yostart with CHECK was started in dll [42]
  172. zero clear memory
  173. ysem.c: 230: ysem_open: k != -1 failed
  174. ysem.c: 230: ysem_open: k != -1 failed
  175. ADD 0 MTX: msgc_alive_mtx_00, SEM: msgc_result_sem_00
  176. Yostart was started in dll [45]
  177. Yostar:writeing pid=1073
  178. Yostart with CHECK was started in dll [45]
  179. Yostart with CHECK was started in dll [30]
  180. Yostart was started in dll [30]
  181. Yostar:writeing pid=1076
  182. 0:08:48 PID1076 event.c( 401)event_open_mem : failed open_share()
  183. Yostart was started in dll [5]
  184. Yostar:writeing pid=1079
  185. Yostart with CHECK was started in dll [5]
  186. ysem.c: 230: ysem_open: k != -1 failed
  187. ADD 1 MTX: msgc_alive_mtx_01, SEM: msgc_result_sem_01
  188. Yostart was started in dll [48]
  189. Yostar:writeing pid=1083
  190. Yostart with CHECK was started in dll [48]
  191. ysem.c: 230: ysem_open: k != -1 failed
  192. ADD 2 MTX: msgc_alive_mtx_02, SEM: msgc_result_sem_02
  193. [vunp] 1 hour sleep!!
  194. Yostart was started in dll [49]
  195. Yostar:writeing pid=1091
  196. Yostart with CHECK was started in dll [49]
  197. ysem.c: 230: ysem_open: k != -1 failed
  198. ADD 3 MTX: msgc_alive_mtx_03, SEM: msgc_result_sem_03
  199. [nled] write : ledset -s -b 80 0
  200. [systemapi] local_time ti:0 time_st:0 time_js:3600 time_ut:0
  201. ontimer set event!!!!
  202. ontimer set event!!!!
  203. ontimer set event!!!!
  204. ontimer set event!!!!
  205. Yostart with CHECK was started in dll [51]
  206. Yostart was started in dll [51]
  207. Yostar:writeing pid=1095
  208. ysem.c: 230: ysem_open: k != -1 failed
  209. ADD 4 MTX: msgc_alive_mtx_04, SEM: msgc_result_sem_04
  210. Yostart with CHECK was started in dll [52]
  211. Yostart was started in dll [52]
  212. Yostar:writeing pid=1099
  213. Yostart with CHECK was started in dll [10]
  214. Yostart was started in dll [10]
  215. Yostar:writeing pid=1103
  216. [terahttp] dll_init
  217. MAIN_LOOP_START_REQ
  218. MAIN_LOOP_START_END
  219. Yostart was started in dll [12]
  220. Yostar:writeing pid=1106
  221. Yostart with CHECK was started in dll [12]
  222. Yostart with CHECK was started in dll [23]
  223. Yostart was started in dll [23]
  224. Yostar:writeing pid=1108
  225. pmb_start
  226. pmb_loop
  227. Message send Success. reply=1
  228. region_code=0x41
  229. mode=0x60
  230. WPA2-PSK CCMP
  231. error:[commontool.c]:L1373 -Mar 25 2009 ret=-5
  232. ssid=<yournetworkname>
  233. pairwise=CCMP
  234. key=<yournetworkkey>
  235. udhcpc (v0.9.9-pre+autoip) started
  236. udhcpc[1230]: udhcpc (v0.9.9-pre+autoip) started
  237. Sending discover...
  238. udhcpc[1230]: Sending discover...
  239. Sending select for 192.168.x.x...
  240. udhcpc[1230]: Sending select for 192.168.x.x...
  241. Lease of 192.168.x.x obtained, lease time 86400
  242. udhcpc[1230]: Lease of 192.168.x.x obtained, lease time 86400
  243. deleting routers
  244. route: SIOC[ADD|DEL]RT: No such process
  245. adding dns 192.168.y.y
  246. !!!enter ntp callback
  247. ##### ntp: get network change
  248. ntp set on
  249. Message send Success. reply=1
  250. 0:09:00 PID1079 event.c( 969)event_api_add : -------------------------------
  251. 0:09:00 PID1079 event.c( 970)event_api_add : TERAAPI_REQ_ADD registerd ID:3 data:[0]
  252. 0:09:00 PID1079 event.c( 971)event_api_add : 2008/01/03(THU)10:28:26
  253. 0:09:00 PID1079 event.c( 972)event_api_add : -------------------------------
  254. Freescale Semiconductor, Inc.
  255. i.MX31 Applications Development System
  256. (none) login: terahttpd bind successfully
  257. Freescale Semiconductor, Inc.
  258. i.MX31 Applications Development System
  259. (none) login:

Remote Access

Since firmware Ver.2.00 a web server is set up - however in japanese.
Initial login is

  1. ユーザー名 (loginname): root
  2. パスワード (password): password

The web server allows you to configure your account data more easily
than with the remote control. Unfortunately this login and password is
not working on the serial console. With a root access account one might
be able to add english translations.

No other services seems to run as all ports are closed.

Hardware Disassembly

WARNING ! Disassembling the VGF-CP1 may cause damage ! It’s on your
own risk !!

VGF-CP1 - 图1

remove two screws to seperate acrylic glass

  1. To open the nice housing, you first have to remove two white square
    shaped sticker on the lower back side. The screws fix two white
    bushings, which have to be taken out in order to seperate the acrylic
    glass base.

VGF-CP1 - 图2

remove sticker to open cover

  1. Next you have to remove a rectangular white sticker. which is used as
    a diffusor for the blue led.

VGF-CP1 - 图3

slightly shift display in arrow direction

  1. To seperate the cover, you have to move carefully the display towards
    the direction marked with red arrows. The ribbon cable is on the bottom
    side, so you can open the housing now.

VGF-CP1 - 图4

next remove 6 screws to open shield

  1. The PCBs are shielded with a blank sheet fixed with six screws. For
    those you need well fitting screw driver, because the four ones marked
    in red are tightend very hard. I had to drill them out !

VGF-CP1 - 图5

mainboard with display connector

  1. Front display is connected to ribbon connector (red square). Another
    pwr button is inside (blue marking), next to it a reset button (green
    marking).

VGF-CP1 - 图6

UART1 serial connector

  1. A serial console can be connected through UART1 CN853. I already
    soldered another plug on top of the original one. Pinout see below.
    You’ll need a level shifter LVTTL-to-RS232 as well in order to connect a
    PC serial port.

Pin 1 of the connector the left one on the picture and it is marked on
the PCB with a white dot.

MX31 UART1 CN853 Pinout

























Pin Signal
1Power (3.3V)*
2Transmit (TX)
3Receive (RX)
4Ground (GND)

Categories: