Skip to content

Исследование Blueendless BS-U25WF WI-FI HDD

Недавно приобрел китайскую коробочку для HDD с вайфаем и аккумулятором на 4Ач. Китайцы нагло соврали с описанием: не работает режим AP+Client (аналогичен bridge), нет утилиты для Android/IOS Wi-data и мой экземпляр плохо работал в USB3.0, самба не всегда стартовала и переходила в readonly. В ходе разборок с продавцом и али мне вернули 80% суммы.

Фото внутренностей

IMG_20150203_133849  IMG_20150203_133830

 

IMG_20150203_133844

Решил поэкспериментировать с коробочкой самостоятельно. Вот что удалось:

На основе веб-интерфейса вычислил, что используется прошивка на основе wive-rtnl.

Веб-интерфейс с отключенной возможностью сохранять настройки или обновлять прошивку, да и вообще очень урезанный и глючный. Я порылся в исходниках и нашел уязвимость при добавлении и удалении папок в разделе управления жестким диском. Написал прогу на эту уязвимость. С ее помощью можно выполнить команду в ОС коробочки. Использовать можно так:
ConsoleApplication3.exe del 192.168.1.254 "ping 8.8.8.8"
Вместо del можно использовать add, но тогда команда выполнится два раза.

С помощью проги удалось добыть из коробочки порядочно инфы:

#free
total used free shared buffers
Mem: 29452 23936 5516 0 168
Swap: 0 0 0
Total: 29452 23936 5516

#cat /proc/mtd
dev: size erasesize name
mtd0: 00800000 00010000 "ALL"
mtd1: 00030000 00010000 "Bootloader"
mtd2: 00010000 00010000 "Config"
mtd3: 00010000 00010000 "Factory"
mtd4: 007b0000 00010000 "Kernel"

#ps
PID USER VSZ STAT COMMAND
1 kimax 1732 S init
2 kimax 0 SWN [ksoftirqd/0]
3 kimax 0 SW< [events/0]
4 kimax 0 SW< [khelper]
5 kimax 0 SW< [kthread]
22 kimax 0 SW< [kblockd/0]
25 kimax 0 SW< [khubd]
39 kimax 0 SW< [kswapd0]
40 kimax 0 SW [pdflush]
41 kimax 0 SW [pdflush]
42 kimax 0 SW< [aio/0]
86 kimax 0 SW [mtdblockd]
124 kimax 0 SW< [scsi_eh_0]
125 kimax 0 SW< [usb-storage]
128 kimax 0 SW< [scsi_eh_1]
129 kimax 0 SW< [usb-storage]
142 kimax 1364 S nvram_daemon
143 kimax 1916 S goahead
144 kimax 1736 S /bin/sh
1017 kimax 4416 S nmbd
1020 kimax 5732 S smbd
1132 kimax 6044 S smbd
1142 kimax 1728 R [sh]
1143 kimax 0 []
1144 kimax 1732 R ps

settings

WebInit=1
HostName=kimax
Login=kimax
Password=kimax
OperationMode=0
Platform=RT5350
wanConnectionMode=DHCP
wan_ipaddr=192.168.1.1
wan_netmask=255.255.255.0
wan_gateway=192.168.1.254
wan_primary_dns=192.168.1.5
wan_secondary_dns=168.95.1.1
wan_pppoe_user=pppoe_user
wan_pppoe_pass=pppoe_passwd
wan_l2tp_server=l2tp_server
wan_l2tp_user=l2tp_user
wan_l2tp_pass=l2tp_passwd
wan_l2tp_mode=0
wan_l2tp_ip=192.168.1.1
wan_l2tp_netmask=255.255.255.0
wan_l2tp_gateway=192.168.1.254
wan_pptp_server=pptp_server
wan_pptp_user=pptp_user
wan_pptp_pass=pptp_passwd
wan_pptp_mode=0
wan_pptp_ip=192.168.1.1
wan_pptp_netmask=255.255.255.0
wan_pptp_gateway=192.168.1.254
lan_ipaddr=10.1.254.194
lan_netmask=255.255.255.0
dhcpEnabled=0
dhcpStart=192.168.1.100
dhcpEnd=192.168.1.200
dhcpMask=255.255.255.0
dhcpPriDns=192.168.1.251
dhcpSecDns=168.95.1.1
dhcpGateway=192.168.1.254
dhcpLease=86400
stpEnabled=0
lltdEnabled=0
igmpEnabled=0
natEnabled=1
IPPortFilterEnable=0
IPPortFilterRules=
PortForwardEnable=0
PortForwardRules=
MacFilterEnable=0
MacFilterRules=
DefaultFirewallPolicy=1
DMZEnable=0
DMZIPAddress=
TZ=
NTPServerIP=
NTPSync=
DDNSProvider=
DDNS=
DDNSAccount=
DDNSPassword=
CountryRegion=5
CountryRegionABand=7
CountryCode=
BssidNum=1
SSID1=KIMAX_150_AB0378013
WirelessMode=9
TxRate=0
Channel=1
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
DisableOLBC=0
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=1
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=0
SecurityMode=0
VLANEnable=0
VLANName=
VLANID=0
VLANPriority=0
WscConfMode=0
WscConfStatus=2
WscAKMP=1
WscConfigured=0
WscModeOption=0
WscActionIndex=9
WscPinCode=
WscRegResult=1
WscUseUPnP=1
WscUseUFD=0
WscSSID=KimaxInitialAP
WscKeyMGMT=WPA-EAP
WscConfigMethod=138
WscAuthType=1
WscEncrypType=1
WscNewKey=scaptest
IEEE8021X=0
IEEE80211H=0
CSPeriod=6
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
RekeyInterval=3600
RekeyMethod=DISABLE
PMKCachePeriod=10
WPAPSK1=12345678
DefaultKeyID=1
Key1Type=0
Key1Str1=
Key2Type=0
Key2Str1=
Key3Type=0
Key3Str1=
Key4Type=0
Key4Str1=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_PROTECT=1
HT_MIMOPS=3
HT_40MHZ_INTOLERANT=0
HT_TxStream=1
HT_RxStream=1
HT_DisallowTKIP=1
NintendoCapable=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
WdsEnable=0
WdsEncrypType=NONE
WdsList=
WdsKey=
WirelessEvent=0
RADIUS_Server=
RADIUS_Port=1812
RADIUS_Key=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
session_timeout_interval=0
idle_timeout_interval=0
staWirelessMode=9
SmbEnabled=1
WAN_MAC_ADDR=A:B:0:37:80:13
RFICType=ff
TXPath=1
RXPath=1
Lan2Enabled=0
lan2_ipaddr=
lan2_netmask=
dhcpStatic1=
dhcpStatic2=
dhcpStatic3=
upnpEnabled=0
radvdEnabled=0
pppoeREnabled=0
dnsPEnabled=0
RadioOff=1
WiFiOff=1

#ifconfig
br0 Link encap:Ethernet HWaddr 0A:0B:00:37:80:13
inet addr:10.1.254.194 Bcast:10.1.254.255 Mask:255.255.255.0
inet6 addr: fe80::80b:ff:fe37:8013/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11276 errors:0 dropped:0 overruns:0 frame:0
TX packets:2646 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1770905 (1.6 MiB) TX bytes:896448 (875.4 KiB)
eth2 Link encap:Ethernet HWaddr AA:CC:EB:82:B2:49
inet6 addr: fe80::a8cc:ebff:fe82:b249/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:11435 errors:0 dropped:0 overruns:0 frame:0
TX packets:2635 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1948443 (1.8 MiB) TX bytes:897999 (876.9 KiB)
Interrupt:3
eth2.1 Link encap:Ethernet HWaddr AA:CC:EB:82:B2:49
inet6 addr: fe80::a8cc:ebff:fe82:b249/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:492 (492.0 B)
eth2.2 Link encap:Ethernet HWaddr 0A:0B:00:37:80:13
inet6 addr: fe80::80b:ff:fe37:8013/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:492 (492.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

#mount
rootfs on / type rootfs (rw)
proc on /proc type proc (rw)
none on /var type ramfs (rw)
none on /etc type ramfs (rw)
none on /tmp type ramfs (rw)
none on /media type ramfs (rw)
none on /sys type sysfs (rw)
none on /proc/bus/usb type usbfs (rw)
mdev on /dev type ramfs (rw)
/dev/sda1 on /media/sda1 type vfat (rw,fmask=0000,dmask=0000,codepage=cp950,iocharset=utf8)

Выкачал /dev/mtblock0-mtdblock4 cсылка.

По инструкции пересобрал прошивку и добавил в файловую систему фтп сервак, залил свою версию в mtdblock4, но прошивка не завелась. Имею сейчас usb-коробочку, внешних признаков не подает, но запускается ethernet, думаю попробовать залить по tftp.

UART на схеме не нашел. Если у кого есть предположения по поводу UART или советы как восстановить работоспособность железки, пишите на почту kv58@bk.ru.

 

UPD: UART удалось вызвонить с помощью тоненькой проволочки, благо на RT5350F RX-TX пины с краю. Один идет 7 контакт гребенки (которая соединяет платы), второй контакт рядом (6 вроде, позабыл уже). Но это не помогло: сигналы на контактах не появлялись…

 

06.09.2015: Благодаря совету avalon29, удалось перепрошить микросхему памяти с помощью простейшего программатора на LPT-порту. Кроме того avalon29 выслал версию прошивки основанную на OpenWRT. Первое впечатление от новой прошивки: работает стабильней, но не завелся Ethernet-порт (не включен в мост). Кроме того наконец-то заработал UART, уж не знаю почему в первые разы он ничего в консоль не выдавал. Висит UART на 6(tx) и 7(rx) ножке. Выкладываю прошивку от avalon29. Прошить этот файл со старой версии думаю можно моей ConsoleApplication3.exe или распаяв программатор.

17.09.2015 UART:

Я использовал UART на микросхеме CP2102. RT5350F нормально запускается без предварительного замыкания RX на ноль (в других местах интернета пишут, что без этого проц не грузится). Сейчас экспериментирую с прошивкой от MPR-A2, по результатам отпишусь здесь.

PIN 6 chip-TX to uart-RX
PIN 7 chip-RX to uart-TX

UART settings:
speed 57600
data bits 8
stop bits 1
parity none
Flow control XON/XOFF

3