Friday, July 30, 2010

Hacking wm8505 mini Laptop


7" TFT LCD Windows CE 6.0 ARM WM8505 CPU WiFi UMPC Netbook (2GB Flash Disk/USB Host/SD Slot/LAN)



Dimensions: 8.46 in x 5.71 in x 1.18 in (21.5 cm x 14.5 cm x 3 cm)
Weight: 33.58 oz (952 g)

Max Resolution: 800 x 480 px
OS Language: English
Operating System: Windows CE 6.0 or Android or Debian Linux
CPU: ARM-WM8505 or VIA VT8505( ARM926EJ-S)
Chipset: WM8505
Memory: 128 MB
Flash Disk: 2GB Built-in
External Memory: SD/MMC card (16GB Max.)
LAN: RJ45, 10/100Mbps
WLAN: 802.11b/g Wifi / Wireless LAN
Speaker: Internal Speaker x 2
Touchpad: Yes
Keyboard: 80-key keyboard
Ports: 1 * USB Host
1 * USB hub for Keyboard
1 * USB hub for Mouse
1 * RJ45 LAN
1 * 3.5mm Microphone
1 * 3.5mm Headphone
1 * SD/MMC card slot
AC Adapter: AC 100~ 240V US plug power adapter (comes with a Round to flat plug adapter)
Battery: Internal 7.4V, 1800mAh Lithium-ion



I decided to open this and find the hardware used and we could make use of it for some hacking. before that prepared a USB to Serial cable from old Mobile Cable and connected to the UART0 of the WM8505 laptop motherboard and connected to a Ubuntu 10.04 Laptop PC running minicom at baudrate 115000N81 and extracted the boot messages of WM8505.

Serial UART0 on WM8505











USB Cable of Old Mobile Phone













Boot messages from the WM8505 Board


WonderMedia Technologies, Inc.
W-Load Version : 0.15.00.00.01
ethaddr............found


U-Boot 1.1.4 (Mar 2 2010 - 20:04:21)
WonderMedia Technologies, Inc.
WMT U-Boot Version : 0.12.01.00.13
U-Boot code: 03F80000 -> 03FB9188 BSS: -> 040075A0
RAM Configuration:
Bank #0: 00000000 128 MB
boot from spi flash.
flash:
Bank1: FF800000 -- FFFFFFFF
Bank2: FF000000 -- FF7FFFFF
Flash: 16 MB
In: serial
Out: serial
Err: serial
### main_loop entered: bootdelay=1

bootcmd="nand read 3c00000 12f00000 200000;logo show"
CE0: NAND FLASH ID: 0xECD514B6
CE0: NAND FLASH Name: SAMSUNG_K9XXG08UXM (2048 MB)
block4095 tag=74624230 version =1
block4094 tag=62743142 version =1
g_nfinfo[0].id = 0xE, g_nfinfo[1].id = 0xFFFF
Read finsih
show logo .....
LCD param (setting): 1,30000,8,800,480,48,40,40,3,29,13
PWM param (setting): 0,233,1028,514,1000,100,90,0,27
LCD FrameBuffer = 0x07600000, BMP Address = 0x03C00000
Loading BMP ..... ok
no string ....
PWM0 input freq = 47916666 Hz, output freq = 200 Hz
PWM0 register setting: scalar = 232, period = 1027, duty = 513
Execute register operation:
reg op: 0xD8110064 | 0xC
reg op: 0xD811008C | 0xC
reg op: 0xD81100B4 & 0xFFFFFFF7
reg op: 0xD8130054 | 0x1
### main_loop: bootcmd="nand read 0 0 300000;bootm 0"
Hit any key to stop autoboot: 0
ATSMB Host 390KHz
Found SD Card

scriptcmd start:
ATSMB Host 390KHz

Init : SD Card !

Init : card selected !

SD:Four Bits Mode!

Initial SD Card OK!
ATSMB Host 25MHz
SD clock is 25Mhz
register mmc device
part_offset : 33, cur_part : 1
part_offset : 33, cur_part : 1
reading script/scriptcmd

** Unable to read "script/scriptcmd" from mmc 0:1 **
Read finsih
## Booting image at 00000000 ...
Image Name: MontaVista Linux 2.6.10
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2516748 Bytes = 2.4 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK
No initrd
## Transferring control to Linux (at address 00008000) ...

Starting kernel ...

Uncompressing Linux............................................................................................................................................................... done, booting the kernel.
Linux version 2.6.29-00236-g4f8dbbb-dirty (simenxie@Szmce01) (gcc version 4.2.0 20070126 (prerelease) (MontaVista 4.2.0-3.0.0.0702771 2007-03-10)) #2 Wed Mar 24 14:36:30 CST 2010
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: WMT
Memory policy: ECC disabled, Data cache writethrough
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 26924
Kernel command line: mem=106M noinitrd root=/dev/mtdblock7 rootfstype=yaffs2 rw console=ttyS0,115200n8 init=/init lcdid=1
[LCD] lcd_arg_panel_id: <6>set lcd panel id = 1
PID hash table entries: 512 (order: 9, 2048 bytes)
start_kernel(): bug: interrupts were enabled early
Console: colour dummy device 80x30
console [ttyS0] enabled
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 106MB = 106MB total
Memory: 101844KB available (4640K code, 760K data, 140K init)
Calibrating delay loop... 174.48 BogoMIPS (lpj=872448)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
loadtime = 0
--> start progress bar
gefb: framebuffer at 0x7a00000, mapped to 0xc7800000, using 6144KB, total 6144KB
start_boot_splash: screen xres = 800, yres = 480
net_namespace: 520 bytes
NET: Registered protocol family 16
wmt_pci_init
PCI: WonderMidia Technology PCI Bridge
PCI: bus0: Fast back to back transfers disabled
bio: create slab
at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
VT8500 SPI Flash Driver, (c) 2007 VIA Electronics ltd.
Find SPI Flash, ID = 0x00EF3013
un-know id = 0xef3013
Find SPI Flash, ID = 0x00000000
un-know id = 0x0
vt8500 sf controller initial ok
cmdlinepart partition parsing not available
Creating 6 MTD partitions on "mtdsf device":
0x000000000000-0x000000d00000 : "filesystem-SF"
0x000000d00000-0x000000f80000 : "kernel-SF"
0x000000f80000-0x000000fd0000 : "u-boot-SF"
0x000000fd0000-0x000000fe0000 : "u-boot env. cfg. 1-SF"
0x000000fe0000-0x000000ff0000 : "u-boot env. cfg. 2-SF"
0x000000ff0000-0x000001000000 : "w-load-SF"
[WMT-MB] Preparing VIDEO BUFFER (SIZE 16384 kB) ...
[WMT-MB] MAX MB Area size: Max 4096 Kbs Min 256 Kbs
[WMT-MB] prob /dev/Memory Block major 216, minor 0
ashmem: initialized
yaffs Mar 24 2010 14:31:27 Installing.
msgmni has been set to 199
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
[WMT-MB *W*] mb_allocate unavailable size 5a4
[WMT-MB *W*] mb_allocate unavailable size 5a4
vpp_init(boot logo 1)
[VOUT] DVO to LCD
fb0: WMT GE frame buffer device
[WMT-MB *W*] mb_free invalid paramaters 0/VPP-MB
[WMT-MB *W*] mb_free invalid paramaters 0/VPP-MB
fb1: WMT VPU frame buffer device
WMT vibrater driver load successfully!
uart.0: ttyS0 at MMIO 0xd8200000 (irq = 32) is a wmt serial
uart.1: ttyS1 at MMIO 0xd82b0000 (irq = 33) is a wmt serial
uart.2: ttyS2 at MMIO 0xd8210000 (irq = 47) is a wmt serial
uart.3: ttyS3 at MMIO 0xd82c0000 (irq = 50) is a wmt serial
uart.4: ttyS4 at MMIO 0xd8370000 (irq = 31) is a wmt serial
uart.5: ttyS5 at MMIO 0xd8380000 (irq = 30) is a wmt serial
WMT Serial driver initialized: ok
brd: module loaded
loop: module loaded
nbd: registered device at major 43
pmem: 0 init
VIA Networking Velocity Family Gigabit Ethernet Adapter Driver Ver. 1.13
Copyright (c) 2002, 2003 VIA Networking Technologies, Inc.
Copyright (c) 2004 Red Hat Inc.
eth0: VIA Networking Velocity Family Gigabit Ethernet Adapter
eth0: Ethernet Address: 00:40:63:BE:67:F6
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPPoL2TP kernel driver, V1.0
STRIP: Version 1.3A-STUART.CHESHIRE (unlimited channels)
Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v0.1.0)
[wmt-vd] prob /dev/wmt-vd major 236, minor 0, prdt ffc01000/6560000, size 100 KB
[wmt-vd] WonderMedia HW decoder driver inited
st: Version 20081215, fixed bufsize 32768, s/g segs 256
Driver 'st' needs updating - please use bus_type methods
Driver 'sd' needs updating - please use bus_type methods
NAND Driver, (c) 2008 WMT Electronics ltd.
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd514b6 (Samsung SAMSUNG_K9XXG08UXM)
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd514b6 (Samsung SAMSUNG_K9XXG08UXM)
Creating 4 MTD partitions on "SAMSUNG_K9XXG08UXM":
0x000000000000-0x000000300000 : "kernel-NAND"
0x000000300000-0x000012f00000 : "filesystem-NAND"
0x000012f00000-0x000013500000 : "logo-NAND"
0x000013500000-0x000080000000 : "user-data-NAND"
nand initialised ok
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
PCI: enabling device 0000:00:04.0 (0040 -> 0042)
ehci_hcd 0000:00:04.0: EHCI Host Controller
ehci_hcd 0000:00:04.0: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:04.0: irq 1, io mem 0xd8007100
ehci_hcd 0000:00:04.0: USB 0.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
uhci_hcd: USB Universal Host Controller Interface driver
PCI: enabling device 0000:00:05.0 (0000 -> 0001)
uhci_hcd 0000:00:05.0: UHCI Host Controller
uhci_hcd 0000:00:05.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:05.0: irq 0, io base 0xd8007300
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
udc: VIA UDC driver, version: 3 December 2007 (dma)
udc: pullup_disable()
IRQ 5/wmotgdev: IRQF_DISABLED is not guaranteed on shared IRQs
IRQ 2/wmotgdev: IRQF_DISABLED is not guaranteed on shared IRQs
udc: wmt_udc_probe - request_irq(0x05) pass!
i8042_controller_init
I8042_CMD_CTL_TEST ok 0x55
write 0xbe cmd 0x1060
serio: i8042 AUX port at 0xd8008800,0xd8008804 irq 4
serio: i8042 KBD port at 0xd8008800,0xd8008804 irq 23
mice: PS/2 mouse device common for all mice
wmt_rtc on
wmt-rtc wmt-rtc.0: rtc core: registered wmt-rtc as rtc0
WMT Real Time Clock driver v0.54 initialized: ok
i2c /dev entries driver
i2c: adding wmt_i2c_adapter.
i2c: successfully added bus
[wmt_i2c_api_i2c_init]
[wmt_i2c_api_init] wmt_i2c_api_init.
i2c: wmt algorithm module loaded.
WMT AHB to SD/MMC bus controller registered!
Registered led device: lcd-backlight
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
logger: created 64K log 'log_main'
logger: created 256K log 'log_events'
logger: created 64K log 'log_radio'
Advanced Linux Sound Architecture Driver Version 1.0.18a.
Sound: WMT AC97: dsp id 3 mixer id 0
VT1613 generic driver installed
ALSA device list:
No soundcards found.
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
802.1Q VLAN Support v1.8 Ben Greear

All bugs added by David S. Miller

input: kpadPower as /devices/virtual/input/input0
PMC: WonderMedia Power Management driver
PMC: Power button is configured as soft power
VFP support v0.3: not present
wmt-rtc wmt-rtc.0: setting system clock to 2000-01-01 12:50:17 UTC (946731017)
Trying to free already-free IRQ 4
mmc0: new SD card at address 05b2
mmcblk0: mmc0:05b2 SD01G 982 MiB
mmcblk0: p1
usb 1-2: new high speed USB device using ehci_hcd and address 2
usb 1-2: configuration #1 chosen from 1 choice
hub 1-2:1.0: USB hub found
hub 1-2:1.0: 4 ports detected
input: PS/2 Generic Mouse as /devices/platform/i8042/serio0/input/input1
input: AT Raw Set 2 keyboard as /devices/platform/i8042/serio1/input/input2
yaffs: dev is 32505863 name is "mtdblock7"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.7, "mtdblock7"
yaffs: restored from checkpoint
yaffs_read_super: isCheckpointed 1
VFS: Mounted root (yaffs2 filesystem) on device 31:7.
Freeing init memory: 140K
Warning: unable to open an initial console.
init: /init.rc: 345: invalid option '-n'
BCH Read data ecc eror command: 0 column:0, page_addr:4a79
data area 1 bit corrected err on bank 0
in nfc_wait_idle(): data area 0th ecc error position is byte254 bit3
reserve_mm: module license 'DualBSD/GPL' taints kernel.
Reserve mm enter!
i will kmalloc 10M memory for wifi
wmt_battery ver 1.0 charg state 1 charg gpio 0 bat:180,138
battery:char state 1 0 -> 1
battery: 30 -> -1090500840
init: cannot find '/system/bin/playmp3', disabling 'bootsound'
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
warning: `adbd' uses 32-bit capabilities (legacy support in use)
[GOVRH] VGA DAC DISCONNECT
/system/bin/sh: can't access tty; job control turned off
/ # battery:char state 1 1 -> 1
battery: -1090500840 -> 100
BCH Read data ecc eror command: 0 column:0, page_addr:4fdd
data area 1 bit corrected err on bank 3
in nfc_wait_idle(): data area 0th ecc error position is byte2031 bit4
BCH Read data ecc eror command: 0 column:0, page_addr:507d
data area 1 bit corrected err on bank 3
in nfc_wait_idle(): data area 0th ecc error position is byte1551 bit2
SNDCTL_DSP_SETFMT, val = 0x10
SNDCTL_DSP_CHANNELS, value= 2
SNDCTL_DSP_SPEED, val=44100
SOUND_MIXER_VOLUME. volume val = 100
left = 0x0000, right = 0x0000
BCH Read data ecc eror command: 0 column:0, page_addr:43c1
data area 1 bit corrected err on bank 2
in nfc_wait_idle(): data area 0th ecc error position is byte1065 bit0
pmem: pid 0, allocate 1000000
the curr is 0, and allocate order is c, and curr order is c
ioctl VPPIO_VPPSET_DIRECTPATH!!!!!!!!!!
ioctl VPPIO_VPPSET_DIRECTPATH end!!!!!!!!!!
procfile_write get 0

--> stop progress bar
BCH Read data ecc eror command: 0 column:0, page_addr:1ba4
data area 1 bit corrected err on bank 2
in nfc_wait_idle(): data area 0th ecc error position is byte1307 bit2
BCH Read data ecc eror command: 0 column:0, page_addr:240c
data area 1 bit corrected err on bank 2
in nfc_wait_idle(): data area 0th ecc error position is byte1100 bit0
BCH Read data ecc eror command: 0 column:0, page_addr:2239
data area 1 bit corrected err on bank 2
in nfc_wait_idle(): data area 0th ecc error position is byte1273 bit5
request_suspend_state: wakeup (3->0) at 28778224002 (2000-01-01 12:50:45.072494000 UTC)
Reserve mm exit!
rtusb init --->
wifi_power_ctrlaa 1
usbcore: registered new interface driver rt2870
usb 1-1: new high speed USB device using ehci_hcd and address 3
usb 1-1: configuration #1 chosen from 1 choice


=== pAd = c7302000, size = 462912 ===

<-- RTMPAllocAdapterBlock, Status=0 ra0 (usb): not using net_device_ops yet XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo0pen SOUND_MIXER_VOLUME. volume val = 60 left = 0x0000, right = 0x0000 SOUND_MIXER_VOLUME. volume val = 100 left = 0x0000, right = 0x0000 <-- RTMPAllocTxRxRingMemory, Status=0 -->RTUSBVenderReset
<--RTUSBVenderReset Key1Str is Invalid key length(0) or Type(0) Key2Str is Invalid key length(0) or Type(0) Key3Str is Invalid key length(0) or Type(0) Key4Str is Invalid key length(0) or Type(0) 1. Phy Mode = 9 2. Phy Mode = 9 NVM is Efuse and its size =2d[2d0-2fc] 3. Phy Mode = 9 RTMPSetPhyMode: channel is out of range, use first channel=1 MCS Set = ff 00 00 00 01 <==== rt28xx_init, Status=0 0x1300 = 00064300 binder: release 198:204 transaction 1211 out, still active binder: release proc 198, transaction 1226, not freed ===>rt_ioctl_giwscan. 2(2) BSS returned, data->length = 208
==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
[WMT-MB] mb driver is opened by thumbserver
===>rt_ioctl_giwscan. 2(2) BSS returned, data->length = 208
[WMT-MB] mb driver is closed by thumbserver.
save exit: isCheckpointed 1
BCH Read data ecc eror command: 0 column:0, page_addr:1ba4
data area 1 bit corrected err on bank 2
in nfc_wait_idle(): data area 0th ecc error position is byte1307 bit2
binder: 116:123 transaction failed 29189, size8-0
binder: send failed reply for transaction 1211, target dead
request_suspend_state: wakeup (0->0) at 704142311002 (2000-01-01 13:02:00.436581000 UTC)
request_suspend_state: wakeup (0->0) at 766553363002 (2000-01-01 13:03:02.847631000 UTC)
request_suspend_state: wakeup (0->0) at 1181616605002 (2000-01-01 13:09:57.910874000 UTC)


We can See that the board has 6 serial Ports and the default UART0 is used for console messages

uart.0: ttyS0 at MMIO 0xd8200000 (irq = 32) is a wmt serial
uart.1: ttyS1 at MMIO 0xd82b0000 (irq = 33) is a wmt serial
uart.2: ttyS2 at MMIO 0xd8210000 (irq = 47) is a wmt serial
uart.3: ttyS3 at MMIO 0xd82c0000 (irq = 50) is a wmt serial
uart.4: ttyS4 at MMIO 0xd8370000 (irq = 31) is a wmt serial
uart.5: ttyS5 at MMIO 0xd8380000 (irq = 30) is a wmt serial
WMT Serial driver initialized: ok


I decided to look for the UART Port availability from the Board, to connect some of the modules like Bluetooth SPP board , GPS Module, and RWS+TWS 433, but sadly ended in consuming my time.

later searched for any datasheet available for WM8505 SOC Module, but no information available in the internet or from the manufacturers site


finally got the datasheets for WM8505 from the following site.

Download WM8505 Datasheet
http://tails92.sepwich.com/files/easypc/datasheets/DS_WM8505_071.pdf.gz

Other datasheets Here


From the datasheet i came to conclusion that nothing can be done without sacrificing the one Laptop
so using the SMD soldering station , removed the WM8505 SOC from the board , and scanned the board with high resolution HP Scanner ( thanks for the HP guys) at a resolution of 2400 PPI . to study the pinouts of the UART ports.

here with attached the Images

Top View

Bottom View





As per Datasheet the UART Pin outs are

WM8505 Application Processor



The pins marked in Red color are TXD Pins and Blue Color are RXD Pins, unfortunately NO TXD pin is routed out from the BGA Package , except UART0 . we cant control any of our devices . but we can provide serial inputs to the Board.


Marked Pinouts

8 comments:

  1. If you ar interesed in wm80505 kernel development, look to http://projectgus.com/

    ReplyDelete
  2. Hi.
    Thanks for information about Wm8505.
    I was wondering. Where is the "jtag pins"? Can I use Uart for spi flash programming? I erased u-boot part on the spi flash chip. I need to reflash it. Couse it doesn't boot. Only w-loader part runs. I don't know exactly, What will i gonna do with that device...

    I need some help for solve this problem. Have you got any comment?

    ReplyDelete
  3. Hi.
    We at http://gyplace.altervista.org/ are searching a solution for power the rtc controller even while main battery is down...
    Thanks to yours photo, we have detected the SoC pin corresponding to the VBAT VT8505 pin (A16)...
    Now, we need to know how the SoC is connected to the main board.. Can you post a photo of the main board after the SoC wos removed? So we can see what is under the SoC itself?

    Bye!

    ReplyDelete
  4. Thanks for this describe . Great job !
    What about USB-RS232 ( FT232 chip )converter under
    Android or Win CE ?

    Best wishes from north poland.
    SQ2AJO, Wieslaw.

    ReplyDelete
  5. hello. i have a minibook 7" - Windows CE.That has windows CE 5.0 and i want to install Linux or android how to do that?I have tried with an SD and usb but nothing happens.I have use burn tool to flash it and works only with Ce...
    This is the strut up screen :

    version:1.90
    hardware version:3.0
    CPU: ARM 926EJ-S
    Release SV122
    RAM:128M
    video decode :1
    press F1 key to update system.

    you instructions work on this and hot to format it?

    ReplyDelete
  6. Hola tengo una laptop hit 7" con windows ce 6.0 de 2gb de memoria de 1gb de ram procesador wm8505 de 300mhz enciende luz de encendido pero no tiene imagen. Si el problema fuera en la ram como sabria cual es y si es alli el problema, se consigue memoria ram en uruguay de estas mini laptops? Ademas se le puede colocar android o Windows xp, 7 ultimate o android? Desde ya agradezco tu respuesta soy maia de salto uruguay mi correo para responderme y poder mandarte fotos de la laptop es fom6140@gmail.com o mi whatsapp es +59891205602. Gracias. Saludos.

    ReplyDelete
  7. Hola tengo una laptop hit 7" con windows ce 6.0 de 2gb de memoria de 1gb de ram procesador wm8505 de 300mhz enciende luz de encendido pero no tiene imagen. Si el problema fuera en la ram como sabria cual es y si es alli el problema, se consigue memoria ram en uruguay de estas mini laptops? Ademas se le puede colocar android o Windows xp, 7 ultimate o android? Desde ya agradezco tu respuesta soy maia de salto uruguay mi correo para responderme y poder mandarte fotos de la laptop es fom6140@gmail.com o mi whatsapp es +59891205602. Gracias. Saludos.

    ReplyDelete