วันจันทร์ที่ 22 กันยายน พ.ศ. 2557
การหาขา GPIO ของ SoC
1. find ground (like that on the USB port)
2. look for traces coming from the SoC via just one resistor (10K?) and linked to ground: these are most likely unused GPIOs
3. put your multimeter between gnd and the resister (try both sides)
4. try this until you get a reading (change):
(this is for GPIO0)
echo 0 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio0/direction
echo 0 > /sys/devices/virtual/gpio/gpio0/value
echo 1 > /sys/devices/virtual/gpio/gpio0/value
ที่มา
วันจันทร์ที่ 15 กันยายน พ.ศ. 2557
WRT54GS v6 Flash Upgrade
WRT54GS มีหน่วยความจำ RAM 16 MB, ROM 2 MB ทำให้ลงรอม dd-wrt รุ่น Standard ไม่ได้เนื่องจากพื้นที่ใน ROM มีไม่พอ แนวทางผมคือเพิ่มขนาดของ ROM โดยเปลี่ยนไอซี Flash Memory จาก 2 MB เป็น 4 MB
ไอซี Flash เดิมคือ Intel JS28F160
เปลี่ยนเป็นไอซี Spansion S29GL032A90
อุปกรณ์ที่ใช้มี
ขั้นตอนที่ใช้
ไอซี Flash เดิมคือ Intel JS28F160
Intel JS28F160 |
Spansion S29GL032A90 |
- Computer ที่มีพอร์ต Parallel
- Wiggler cable ทำเองโดยเอาวงจรจากนี้ครับ http://wiki.openwrt.org/doc/hardware/port.jtag.cable.buffered
ซอฟต์แวร์ที่ใช้คือ
- zjtag เป็นซอฟต์แวร์ฟรีรายละเอียดเพิ่มเติมจากลิงค์นี้ครับ http://zjtag.sourceforge.net/
- สำรองไฟล์ cfe และ nvram โดยต่อเราเตอร์เข้ากับคอมพิวเตอร์ผ่านทางพอร์ต JTAG ต่อเข้ากับ Wiggler cable ดังรูป
พอร์ต JTAG - เข้าไปยัง directory ของ zjtag และใช้คำสั่ง zjtag -backup:cfe /wiggler เพื่อสำรองไฟล์ cfe จะได้ไฟล์ชื่อ CFE.BIN.SAVED...ตามด้วยวันที่เวลา
- ใช้คำสั่ง zjtag -backup:nvram /wiggler เพื่อสำรองไฟล์ nvram จะได้ไฟล์ชื่อ NVRAM.BIN.SAVED...ตามด้วยวันที่เวลา
- เปลี่ยนเอาไอซีเดิมออกแล้วใส่ตัวใหมเข้าไป
- ถอด RX102, RX103, และ RX101 ออก แล้วใส่ R 0 โอห์ม เข้าไปที่ RY100 ดังรูป
เปลี่ยนค่าตัว R ข้าง Flash - ใส่ CFE เข้าไปในไอซีตัวใหม่โดยเปลี่ยนชื่อไฟล์สำรองที่ทำไว้ในข้อ 3 และ 4 เป็น CFE.BIN และ NVRAM.BIN
- ใช้คำสั่ง zjtag -flash:cfe /wiggler เพื่อใส่ CFE เข้าไป
- ใช้คำสั่ง zjtag -flash:nvram /wiggler เพื่อใส่ NVRAM เข้าไป
- ใส่เฟิร์มแวร์ DD-WRT รุ่น Standard ของ WRT54GS v4 ไฟล์นี้ครับ
- วิธีการใสเฟิร์มแวร์คือ นำสายแลนเสียบเชื่อมคอมกับเราเตอร์
- เข้าไปในไดเรคทอรี่ที่โหลด dd-wrt มาไว้
- พิมพ์คำสัง tftp -i 192.168.1.1 PUT dd-wrt.v24_std_generic.bin อย่าเพิ่งกด Enter
- จ่ายไฟเข้าเราเตอร์ พร้อมทั้งกด Enter รอจนกระทั่งขึ้นข้อความ Transfer successful: 3710976 bytes in 20 second(s), 185548 bytes/s
- รอเราเตอร์อัพเดทตัวเอง ประมาณ 5 นาที
- เสร็จสิ้นกระบวนการครับ
วันอาทิตย์ที่ 14 กันยายน พ.ศ. 2557
Linksys WRT54GS v6
ตัวเครื่องภายนอก |
บอร์ดหลัก |
BROADCOM BCM5352 |
SAMSUNG K4S1632I |
Intel JS28F160 |
74LVC04A |
AP1635 |
AP1513 |
SiGe SE2528L -> 2.4 GHz Power Amplifier with Power Detector
พอร์ต JTAG และ Serial ควมเร็ว 115200
WLAN |
Serial & JTAG |
ไฟล์ CFE และ NVRAM โหลดจากลิงค์ด้านล่างครับ
วันศุกร์ที่ 12 กันยายน พ.ศ. 2557
THOMSON ST536 v6
อุปกรณ์ตัวนี้เป็น ADSL Router มี 1 พอร์ต LAN และ 1 พอร์ต USB
ไอซีหลักๆ ในเครื่องคือ
BROADCOM BCM6338 -> ADSL2+ BRIDGE/ROUTER SOLUTION
Spansion S29GL032N -> 32 Megabit 3.0-Volt only Page Mode Flash Memory Featuring 110 nm MirrorBit Process Technology
ELPIDA DS1216AGTA -> 128M bits SDRAM
ST 613I -> ADSL Driver?
L7812CV -> 12v Positive voltage regulators
AP34063 -> Universal DC/DC Converter
ระบบไฟของบอร์ด
ตัวเครื่อง |
บอร์ดหลัก |
BROADCOM BCM6338 |
Spansion S29GL032N |
ELPIDA DS1216AGTA |
ST 613I |
L7812CV |
AP34063 |
ระบบไฟ |
Hatari HW-AA101
อุปกรณ์ตัวนี้เป็น ADSL2+ Router
ด้านในเครื่องมีบอร์ดวงจรหลัก มีไอซีหลักๆ คือ
TRENDCHIP TC3162L2 -> ADSL2/2+ Bridge/Router Processor
ESMT M12L64164A -> 1M x 16 Bit x 4 Banks Synchronous DRAM
TRENDCHIP TC3084 -> integrated analog front end and line driver
IC+ IP101A LF -> Single port 10/100 Fast Ethernet Transceiver
MT34063M -> Universal DC to DC Converter
MT1117 -> 1A LDO Linear Voltage Regulator
ใต้บอร์ดมีไอซีหน่วยความจำอยู่
MXIC 29LV160CBTC -> 16M-BIT [2Mx8/1Mx16] CMOS SINGLE VOLTAGE 3V ONLY FLASH MEMORY
ระบบไฟและพอร์ตต่างๆ มีพอร์ต Serial ความเร็ว 115200 และ JTAG
Boot Message รหัสผ่านคือ 1234
ตัวเครื่องด้านนอก |
บอร์ดหลัก |
TRENDCHIP TC3162L2 |
ESMT M12L64164A |
TRENDCHIP TC3084 |
IC+ IP101A LF |
MT34063M |
MT1117 |
ใต้บอร์ด |
ไอซี Flash |
MXIC 29LV160CBTC |
Serial & JTAG และระบบไฟ |
Bootbase Version: VTC1.13 | 2007/1/22 17:18:52RAM: Size = 8192 KbytesDRAM POST: Testing: 8192KOKFLASH: AMD 16M *1RAS Version: 2.9.8.1(UE0.C19)3.5.18.0System ID: 2.9.8.1(UE0.C19)3.5.18.4| 2007/04/13Press any key to enter debug mode within 3 seconds.............................................................Copyright (c) 2001 - 2006 TrendChip Technologies Corp.initialize ch = 0, ethernet address: 00:13:33:10:b7:20initialize ch = 1, ethernet address: 00:13:33:10:b7:20Wan Channel init ........ doneInitializing ADSL F/W ........ doneANNEXASyncookie switch Off!Press ENTER to continue...Enter Password : XXXXCopyright (c) 2001 - 2006 TrendChip Technologies Corp.tc> ?Valid commands are:sys exit ether wanetherdbg usb ip bridgedot1q pktqos show setlantc>
วันพุธที่ 10 กันยายน พ.ศ. 2557
Buffalo WCR-G300
วันนี้ผมมีเราเตอร์มารีวิวอีกตัวนึงเป็นของ Buffalo รุ่น WCR-G300 มี 1 WAN, 4 LAN, Wireless b/g/n 300 Mbps เสาเป็นแบบถอดเปลี่ยนไม่ได้
ภายในเครื่องใช้ CPU ของ Ralink
Ralink RT3352F -> 802.11n Wireless Router-on-a-Chip
EtronTech EM639165TS -> 8Mega x 16 Synchronous DRAM (SDRAM)
MXIC MX25L3206E -> 32M-BIT [x 1 / x 2] CMOS SERIAL FLASH
MP1482DS -> 2A, 18V Synchronous Rectified Step-Down Converter เป็นวงจรแปลงไฟ 3.3v
พอร์ต Serial ความเร็ว 57600 และพอร์ต JTAG
หน้า Web สำหรับ Config ใช้ IP 192.168.11.1
ตัวเครื่องภายนอก |
บอร์ดภายในเครื่อง |
Ralink RT3352F |
EtronTech EM639165TS |
MXIC MX25L3206E |
MP1482DS |
พอร์ต Serial & JTAG |
อีกด้านของบอร์ด |
Web Config |
Boot Message
U-Boot 1.1.3 (Nov 11 2011 - 21:40:07)Board: Ralink APSoC DRAM: 16 MBrelocate_code Pointer at: 80fb0000******************************Software System Reset Occurred******************************spi_wait_nsec: 3cspi device id: c2 20 16 c2 20 (2016c220)find flash: MX25L3205Draspi_read: from:30000 len:1000.raspi_read: from:30000 len:1000.*** Check if data is correct or not...*** Data is correct.============================================Ralink UBoot Version: 3.5.3.0Buffalo UBoot Version: 3.00--------------------------------------------ASIC 3352_MP (Port5<->None)DRAM_CONF_FROM: Boot-StrappingDRAM_TYPE: SDRAMDRAM_SIZE: 128 MbitsDRAM_WIDTH: 16 bitsDRAM_TOTAL_WIDTH: 16 bitsTOTAL_MEMORY_SIZE: 16 MBytesFlash component: SPI FlashDate:Nov 11 2011 Time:21:40:07============================================icache: sets:256, ways:4, linesz:32 ,total:32768dcache: sets:128, ways:4, linesz:32 ,total:16384##### The CPU freq = 400 MHZ ####estimate memory size =16 MbytesPlease choose the operation:1: Load system code to SDRAM via TFTP.2: Load system code then write to Flash via TFTP.3: Boot system code via Flash (default).4: Entr boot command line interface.7: Load Boot Loader code then write to Flash via Serial.9: Load Boot Loader code then write to Flash via TFTP. 03: System Boot system code via Flash.## Booting image at bc050000 ...raspi_read: from:50000 len:40. Image Name: Linux Kernel ImageCreated: 2012-11-27 7:57:49 UTCImage Type: MIPS Linux Kernel Image (lzma compressed)Data Size: 3243968 Bytes = 3.1 MBLoad Address: 80000000Entry Point: 80320000raspi_read: from:50040 len:317fc0.................................................. Verifying Checksum ... OKUncompressing Kernel Image ... OKNo initrd## Transferring control to Linux (at address 80320000) ...## Giving linux memsize in MB, 16Starting kernel ...LINUX started...THIS IS ASICLinux version 2.6.21 (root@SWD1-CVS3) (gcc version 3.4.2) #3 Thu Nov 22 16:16:16 CST 2012The CPU feqenuce set to 400 MHzCPU revision is: 0001964cDetermined physical RAM map:memory: 01000000 @ 00000000 (usable)Built 1 zonelists. Total pages: 4064Kernel command line: console=ttyS1,57600n8 root=/dev/mtdblock4Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes.Primary data cache 16kB, 4-way, linesize 32 bytes.Synthesized TLB refill handler (20 instructions).Synthesized TLB load handler fastpath (32 instructions).Synthesized TLB store handler fastpath (32 instructions).Synthesized TLB modify handler fastpath (31 instructions).Cache parity protection disabledcause = 50808000, status = 11000000PID hash table entries: 64 (order: 6, 256 bytes)calculating r4koff... 00186a00(1600000)CPU frequency 400.00 MHzUsing 200.000 MHz high precision timer.Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)Memory: 12840k/16384k available (2871k kernel code, 3544k reserved, 325k data, 108k init, 0k highmem)Mount-cache hash table entries: 512NET: Registered protocol family 16NET: Registered protocol family 2Time: MIPS clocksource has been installed.IP route cache hash table entries: 1024 (order: 0, 4096 bytes)TCP established hash table entries: 512 (order: 0, 4096 bytes)TCP bind hash table entries: 512 (order: -1, 2048 bytes)TCP: Hash tables configured (established 512 bind 512)TCP reno registereddeice id : c2 20 16 c2 20 (2016c220)MX25L3205D(c2 2016c220) (4096 Kbytes)mtd .name = raspi, .size = 0x00400000 (4M) .erasesize = 0x00010000 (64K) .numeraseregions = 0Creating 6 MTD partitions on "raspi":0x00000000-0x00030000 : "Bootloader"0x00030000-0x00040000 : "Config"0x00040000-0x00050000 : "Factory"0x00050000-0x00180000 : "Kernel"0x00180000-0x003b0000 : "RootFS"0x003b0000-0x00400000 : "User_CFG"squashfs: version 3.2-r2 (2007/01/15) Phillip Loughersquashfs: LZMA suppport for slax.org by jroJFFS2 version 2.2. (NAND) (SUMMARY) (C) 2001-2006 Red Hat, Inc.io scheduler noop registered (default)Ralink gpio driver initializedHDLC line discipline: version $Revision: 1.1.1.1 $, maxframe=4096N_HDLC line discipline registered.Ralink APSoC Hardware Watchdog TimerSerial: 8250/16550 driver $Revision: 1.7 $ 2 ports, IRQ sharing disabledserial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550Aserial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550Aloop: loaded (max 8 devices)rdm_major = 254Ralink APSoC Ethernet Driver Initilization. v2.1 256 rx/tx descriptors allocated, mtu = 1500!MAC_ADRH -- : 0x0000000cMAC_ADRL -- : 0x43335277PROC INIT OK!PPP generic driver version 2.4.2PPP BSD Compression module registeredNET: Registered protocol family 24PPPoL2TP kernel driver, V0.17PPTP driver version 0.8.1flash0: startedblock2mtd: version $Revision: 1.1.1.1 $nf_conntrack version 0.5.0 (128 buckets, 1024 max)ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted ConeTCP cubic registeredNET: Registered protocol family 1NET: Registered protocol family 17802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>All bugs added by David S. Miller <davem@redhat.com>VFS: Mounted root (squashfs filesystem) readonly.Freeing unused kernel memory: 108k freedinit started: BusyBox v1.12.1 (2012-11-22 16:09:35 CST)starting pid 13, tty '': '/etc_ro/rcS'Algorithmics/MIPS FPU Emulator v1.5devpts: called with bogus optionsmount: mounting none on /proc/bus/usb failed: No such file or directoryWelcome to_______ _______ ___ __ ____ _ _ ___| ___ \| __ || | |__|| \ | || | / /| |___| || |__| || |__ __ | \| || |/ /| _ /| _ || || || |\ || \|__| \__\|__| |__||______||__||_| \____||_|\___\=System Architecture Department=[check_jffs]80 : JFFS_OKSet: phy[0].reg[0] = 3100Set: phy[1].reg[0] = 3100Set: phy[2].reg[0] = 3100Set: phy[3].reg[0] = 3100Set: phy[4].reg[0] = 3100nvram_init: INFO=>nvram MAC initialized successfully!==>shm_init()!!check_shm_hash: Check shm hash valuenvram_init: INFO=>nvram conf initialized successfully!nvram_init: INFO=> RAM CONF successful created!nvram_init: INFO=> RC.CONF successful created!---------------- Get WLAN MAC 10:6f:3f:6d:4d:bc---------------switch reg write offset=94, value=1000switch reg write offset=14, value=405555switch reg write offset=50, value=2001switch reg write offset=98, value=7f3fswitch reg write offset=e4, value=3fswitch reg write offset=40, value=1001switch reg write offset=44, value=1001switch reg write offset=48, value=1002switch reg write offset=70, value=ffff506fphy_tx_ring = 0x00ac9000, tx_ring = 0xa0ac9000phy_rx_ring0 = 0x00aca000, rx_ring0 = 0xa0aca000MAC_ADRH -- : 0x0000106fMAC_ADRL -- : 0x3f6d4dbcRT305x_ESW: Link Status ChangedCDMA_CSG_CFG = 81000007GDMA1_FWD_CFG = C0710000vlan0001: Setting MAC address to 10 6f 3f 6d 4d bc.VLAN (vlan0001): Underlying device (eth2) has same MAC, not checking promiscious mode.vlan0002: Setting MAC address to 10 6f 3f 6d 4d bc.VLAN (vlan0002): Underlying device (eth2) has same MAC, not checking promiscious mode.vlan0001: dev_set_promiscuity(master, 1)device eth2 entered promiscuous modedevice vlan0001 entered promiscuous modeinput_access=[3]echo 3 > /proc/lan_wlan_access_controllerbr0: port 1(vlan0001) entering learning stateFri Jan 1 00:00:00 GMT 2010device ra2 is already a member of a bridge; can't enslave it to bridge br0.[Enter Test] in wlan_led_ctrl.c main().brctl setwlanforward br0 15libupnp: using UDP SSDP_PORT = 1900rmmod: ipv6passthru: No such file or directoryrmmod: ipv6passthru: No such file or directory/usr/shell/dnsmasq.sh stop ok/usr/shell/dnsmasq.sh start okdnsmasq: [truncated] m/usr/shell/udhcpd.sh config ok/usr/shell/udhcpd.sh start ok***** g_wl_interface = ra0 ******MAX_NUM_SESSIONS : 5; NUM_SEES: 64starting pid 810, tty '/dev/ttyS1': '/bin/sh'BusyBox v1.12.1 (2012-11-22 16:09:35 CST) built-in shell (ash)Enter 'help' for a list of built-in commands.#
cpuinfo
# cat /proc/cpuinfosystem type : Ralink SoCprocessor : 0cpu model : MIPS 24K V4.12BogoMIPS : 266.24wait instruction : yesmicrosecond timers : yestlb_entries : 32extra interrupt vector : yeshardware watchpoint : yesASEs implemented : mips16 dspVCED exceptions : not availableVCEI exceptions : not available
mtd
สมัครสมาชิก:
บทความ (Atom)