OpenWrt Forum Archive

Topic: Possible new device Lenovo F800 wifi external drive

The content of this topic has been archived on 6 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Maybe someone is interested - lately I bought Lenovo F800 wifi external drive for 50pounds
SOC: MT7620N
8MB Flash
64MB Ram
1TB sata disk connected I believe by sata-usb converter when working on wifi or usb3 when wired
4Ah internal battery which can be used to charge your phone
USB3, ethernet, wifi

Device runs linux out of the box - there is a possibility to login with telnet  user:root pass: 20080826
Tried to install openwrt build for hootoo tm-02 which flash partitioning is very similar and root password is the same, but I bricked the device - after that I opened it and found out that it's a different SoC. lenovo f800 is MT7620N and hootoo was Ralink RT5350F. I think it was the cause for bricking it. I managed to restore the original firmware with bus pirate and now its working with stock.

I found some time to play with the unit, maybe someone is interested.
Serial port is under the sticker when you remove the harddisk, looking from ethernet port there is GND, TX, RX 3,3V - 57600 baud and that's the uboot output and kernel boot messages:

U-Boot 1.1.3 (May  7 2014 - 05:33:12)

Board: Ralink APSoC DRAM:  32 MB
relocate_code Pointer at: 81fac000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
spi_wait_nsec: 29 
spi device id: c2 20 17 c2 20 (2017c220)
find flash: MX25L6405D
raspi_read: from:1d4000 len:1000 
*** Warning - bad CRC, using default environment

============================================ 
Ralink UBoot Version: 4.1.0.0
-------------------------------------------- 
ASIC 7620_MP (Port5<->None)
DRAM component: 256 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 32 MBytes
Flash component: SPI Flash
Date:May  7 2014  Time:05:33:12
============================================ 
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768 

 ##### The CPU freq = 580 MHZ #### 
 estimate memory size =32 Mbytes
raspi_read: from:40028 len:6 

Initialize vs configure module
raspi_read: from:1d0000 len:1000 
Initialize GPIO
Input i key to enter menu 0 
raspi_read: from:50000 len:180000 
## Booting image at 80500000 ...
   Image Name:   Linux Kernel Image
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    1553097 Bytes =  1.5 MB
   Load Address: 80000000
   Entry Point:  8000c2f0
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 8000c2f0) ...
## Giving linux memsize in MB, 32

Starting kernel ...


LINUX started...

 THIS IS ASIC
[    0.104000] PROC INIT OK!
[    0.252000] gre: can't add protocol
enter init
Start rootfs
mounted
echo 7 > /proc/sys/kernel/printk
[    2.016000] tntfs: module license 'Commercial. For support email ntfs-support@tuxera.com.' taints kernel.
[    2.036000] Disabling lock debugging due to kernel taint
[    2.072000] Tuxera NTFS driver 3014.1.2 [Flags: R/W MODULE].
[    2.244000] Tuxera exFAT driver version 3014.1.24 [Flags: R/W MODULE].
[    2.340000] Tuxera HFS+ driver 3013.9.9
[    2.420000] Tuxera FAT driver 3013.2.9 [Flags: R/W MODULE].
init dev files
mounted end
Wed Jun  1 14:17:59 UTC 2016
Get time information first
tz_minuteswest=0
Set time information
offset=0  tz.tz_minuteswest=0
Get time information again
tz_minuteswest=0
GMT-00:00
Finish the check crc
SSID_PREFIX:LenovoF800
wireless port last two bytes:-78bc!
str_buf=78BC
SSID:LenovoF800-78BC
[    5.596000] scsi 0:0:0:0: Direct-Access     Generic  HDD              0    PQ: 0 ANSI: 0
[    5.612000] Spinning up disk...
[    5.620000] delay 1 second ...
[    6.632000] sd 0:0:0:0: [sda] Attached SCSI removable disk
init net
/etc/initnet: line 29: wanMode_restore: not found
[    7.556000] Raeth v3.0 (Tasklet,SkbRecycle)
[    7.564000] 
[    7.564000] phy_tx_ring = 0x0163a000, tx_ring = 0xa163a000
[    7.564000] 
[    7.564000] phy_rx_ring0 = 0x0163b000, rx_ring0 = 0xa163b000
[    7.564000] SMACCR1 -- : 0x0000001c
[    7.564000] SMACCR0 -- : 0xc21d78bc
[    7.608000] CDMA_CSG_CFG = 81000000
[    7.616000] GDMA1_FWD_CFG = 20710000
[    7.628000] RX DESC a1e3c000  size = 2048
[    7.640000] RTMP_TimerListAdd: add timer obj c00e3798!
[    7.652000] RTMP_TimerListAdd: add timer obj c00a58e8!
[    7.660000] RTMP_TimerListAdd: add timer obj c00a58bc!
[    7.672000] RTMP_TimerListAdd: add timer obj c00a5890!
[    7.680000] RTMP_TimerListAdd: add timer obj c004d018!
[    7.692000] RTMP_TimerListAdd: add timer obj c004cc0c!
[    7.700000] RTMP_TimerListAdd: add timer obj c004cfe8!
[    7.712000] RTMP_TimerListAdd: add timer obj c004d324!
[    7.720000] RTMP_TimerListAdd: add timer obj c004d264!
[    7.732000] RTMP_TimerListAdd: add timer obj c004d294!
[    7.744000] RTMP_TimerListAdd: add timer obj c00a7cf0!
[    7.752000] RTMP_TimerListAdd: add timer obj c00a78e4!
[    7.764000] RTMP_TimerListAdd: add timer obj c00a7cc0!
[    7.772000] RTMP_TimerListAdd: add timer obj c00a7ffc!
[    7.784000] RTMP_TimerListAdd: add timer obj c00a7d20!
[    7.792000] RTMP_TimerListAdd: add timer obj c00a7d50!
[    7.804000] RTMP_TimerListAdd: add timer obj c00a7d80!
[    7.816000] RTMP_TimerListAdd: add timer obj c00ba104!
[    7.824000] RTMP_TimerListAdd: add timer obj c00ba220!
[    7.836000] RTMP_TimerListAdd: add timer obj c00ba130!
[    7.844000] RTMP_TimerListAdd: add timer obj c00a83ac!
[    7.856000] RTMP_TimerListAdd: add timer obj c004a4d8!
[    7.864000] RTMP_TimerListAdd: add timer obj c00a80bc!
[    7.980000] RT_CfgSetMacAddress : invalid length (0)
[    8.000000] APSDCapable[0]=0
[    8.004000] APSDCapable[1]=0
[    8.012000] APSDCapable[2]=0
[    8.016000] APSDCapable[3]=0
[    8.024000] APSDCapable[4]=0
[    8.028000] APSDCapable[5]=0
[    8.036000] APSDCapable[6]=0
[    8.040000] APSDCapable[7]=0
[    8.044000] APSDCapable[8]=0
[    8.052000] APSDCapable[9]=0
[    8.056000] APSDCapable[10]=0
[    8.064000] APSDCapable[11]=0
[    8.068000] APSDCapable[12]=0
[    8.076000] APSDCapable[13]=0
[    8.080000] APSDCapable[14]=0
[    8.088000] APSDCapable[15]=0
[    8.092000] default ApCliAPSDCapable[0]=0
[    8.296000] Key1Str is Invalid key length(0) or Type(1)
[    8.308000] Key2Str is Invalid key length(0) or Type(0)
[    8.320000] Key3Str is Invalid key length(0) or Type(0)
[    8.332000] Key4Str is Invalid key length(0) or Type(0)
[    8.344000] APCli_WPAPSK_KEY, key string required 8 ~ 64 characters!!!
[    8.548000] 6d:19:be:3c:61:40:70:ee:18:74:5f:e7:fc:29:fd:0b:
[    8.560000] 7a:c2:e2:c0:3a:e2:dd:c8:4e:02:54:7f:6d:47:25:2c:
[    8.572000] 
[    8.576000] I/F(apcli0) Key1Str is Invalid key length!
[    8.584000] I/F(apcli0) Key2Str is Invalid key length!
[    8.596000] I/F(apcli0) Key3Str is Invalid key length!
[    8.608000] I/F(apcli0) Key4Str is Invalid key length!
[    8.628000] Wrong OBSSScanParamtetrs format in dat file!!!!! Use default value.
[    8.648000] EntryLifeCheck=1024
[    8.656000] 1. Phy Mode = 9
[    8.660000] 2. Phy Mode = 9
[    8.668000] E2PROM: D0 target power=0xffff 
[    8.676000] E2PROM: 40 MW Power Delta= 0 
[    8.684000] 3. Phy Mode = 9
[    8.688000] AntCfgInit: primary/secondary ant 0/1
[    8.688000] Initialize RF Central Registers for E2 !!!
[    8.708000] Initialize RF Central Registers for E3 !!!
[    8.720000] Initialize RF Channel Registers for E2 !!!
[    8.732000] Initialize RF Channel Registers for E3 !!!
[    8.740000] Initialize RF DCCal Registers for E2 !!!
[    8.752000] Initialize RF DCCal Registers for E3 !!!
[    8.760000] D1 = 1, D2 = 7, CalCode = 14 !!!
[    8.772000] RT6352_Temperature_Init : BBPR49 = 0x1
[    8.780000] RT6352_Temperature_Init : TemperatureRef25C = 0xfffffff7
[    8.796000] Current Temperature from BBP_R49=0xfffffff6
[    8.808000]  TX BW Filter Calibration !!!
[    8.940000]  RX BW Filter Calibration !!!
[    9.184000] LOFT Calibration Done!
[    9.192000] IQCalibration Start!
[    9.208000] IQCalibration Done! CH = 0, (gain= 1, phase=3d)
[    9.220000] IQCalibration Start!
[    9.236000] IQCalibration Done! CH = 1, (gain= 0, phase=3d)
[    9.248000] TX IQ Calibration Done!
[    9.264000]  VGA Code idx overflow(19), AM_63(0) !!!
[    9.276000]  VGA Code idx overflow(19), AM_63(0) !!!
[    9.316000] RXIQ Sigma_i=0, Sigma_q=0, R_iq=0
[    9.324000] RXIQ calibration FAIL
[    9.328000] internal ALC is not enabled in NVM !
[    9.340000] MCS Set = ff ff 00 00 01
[    9.356000]  VGA Code idx overflow(19), AM_63(0) !!!
[    9.368000]  VGA Code idx overflow(19), AM_63(0) !!!
[    9.404000] RTMP_TimerListAdd: add timer obj c00b19e0!
[    9.424000]  VGA Code idx overflow(19), AM_63(0) !!!
[    9.436000]  VGA Code idx overflow(19), AM_63(0) !!!
[    9.476000] Main bssid = 00:1c:c2:1d:78:bc
[    9.484000] <==== rt28xx_init, Status=0
[    9.496000] 0x1300 = 00064380
ifconfig: SIOCGIFFLAGS: No such device
brctl: bridge br0: No such device or address
vconfig: ioctl error for rem: No such device
vconfig: ioctl error for rem: No such device
[   10.232000] device eth2 entered promiscuous mode
restore RT6855 ESW to dump switch mode
switch reg write offset=2004, value=ff0000
switch reg write offset=2104, value=ff0000
switch reg write offset=2204, value=ff0000
switch reg write offset=2304, value=ff0000
switch reg write offset=2404, value=ff0000
switch reg write offset=2504, value=ff0000
switch reg write offset=2604, value=ff0000
switch reg write offset=2704, value=ff0000
switch reg write offset=2010, value=810000c0
switch reg write offset=2110, value=810000c0
sw[   10.408000] device ra0 entered promiscuous mode
itch reg write offset=2210, value=810000c0
switch reg write offset=2310, value=810000c0
switch reg write offset=2410, value=810000c0
switch reg write offset=2510, value=810000c0
switch reg write offset=2610, value=810000c0
switch reg write offset=2710, value=810000c0
REG_ESW_WT_MAC_ATC is 0x7ff0002
done.
/sbin/netinit.sh: line 260: addRax2Br0: not found
[   10.716000] br0: port 1(ra0) entering learning state
[   10.728000] br0: port 1(ra0) entering learning state
Set: phy[0].reg[0] = 3900
Set: phy[4].reg[0] = 3900
[   11.728000] br0: port 1(ra0) entering forwarding state
Set: phy[0].reg[0] = 3100
Set: phy[4].reg[0] = 3100
udhcpc (v1.12.1) started
[   13.828000] hao: input argv = 1
[   13.856000] udevd version 125 started
/etc/rc.d/rc1.d/S34ntp start
/etc/rc.d/rc1.d/S75fileserv start
(ntp.c,main,224)/bin/ntpclient -s -c 0 -h 0.asia.pool.ntp.org -i 86400 &
(ntp.c,main,236)SYNC:date "+%Y.%m.%d-%H:%M:%S" > /etc/timedate

0.asia.pool.ntp.org: Unknown host
/etc/rc.d/rc1.d/S80webd start
/etc/rc.d/rc1.d/S82upnpd start
/etc/rc.d/rc1.d/S99local start
/usr/sbin/listen_sleep &

F800 login: [   16.456000] RTMP_TimerListAdd: add timer obj c00f9540!
[   16.464000] RTMP_TimerListAdd: add timer obj c00f96f8!
[   16.476000] drivers/net/wireless/rt2860v2_ap/../rt2860v2/ap/ap_data.c:4354 assert pEntry->Aid == pRxWI->WirelessCliIDfailed
[   16.500000] RTMP_TimerListAdd: add timer obj c010d184!
[   22.244000] RTMP_TimerListAdd: add timer obj c010d1c0!
[   22.404000] Rcv Wcid(1) AddBAReq
[   22.408000] Start Seq = 00000001
[   22.416000] RTMP_TimerListAdd: add timer obj c010ef94!
[   25.184000] enable send the SIGUSR2
[   38.048000] Rcv Wcid(1) AddBAReq
[   38.052000] Start Seq = 0000000d
[   44.080000] Rcv Wcid(1) AddBAReq
[   44.088000] Start Seq = 0000000f
[   44.236000] enter gpio int_handler
[   44.236000]  PI615 maybe get the power off button
[   44.236000] Get the power off rising interrupt
[   45.236000] timer counter send SIGTERM!
[   49.284000] ready to send shutdown cmd.
[   49.292000] Send_Shutdown_Cmd : 0x3 

and uboot env

bootcmd=tftp
bootdelay=2
baudrate=57600
ethaddr="00:AA:BB:CC:DD:10"
ipaddr=10.10.10.128
serverip=10.10.10.254
gatewayip=10.10.10.1
stdin=serial
stdout=serial
stderr=serial

Environment size: 172/4092 bytes

(Last edited by kuku on 29 Dec 2016, 22:21)

The discussion might have continued from here.