Роутер d link 300 openwrt

Известные клоны:

При прошивке клонов через web интерфейс стандартной прошивки рекомендуется использовать factory образ клонов для 600 b1 для 600 b2.

Внимание! Wi-Fi может не работать в последних сборках OpenWrt (14.07, 15.05 и ночные сборки).

Решение: Добавить опцию ‘option disassoc_low_ack 0’ в /etc/config/wireless в config wifi-iface секции.

Версия/Модель Версия OpenWrt Скачать последнюю версию Примечание
B1, B2, B3 12.09 и новее 15.05.1
B5, B6, B7 14.07 и новее 15.05.1
Версия Процессор RAM Flash Порты WiFi USB Serial JTag
B1, B2, B3 Ralink RT3050F@320MHz 32 МБ 4 МБ 4 LAN + 1 WAN (10/100 МБ FastEthernet) 1×1 2.4Ghz 802.11n 150 Мбит/с Нет Да Нет
B5, B6, B7 RaLink RT5350@360MHz 32 МБ 4 МБ 4 LAN + 1 WAN (10/100 МБ FastEthernet) 1×1 2.4Ghz 802.11n 150 Мбит/с Нет (есть распайка) ? ?

B6 и B7 — удешевленные версии B5

Через web интерфейс

Если выдает ошибку образа, то шьем через emergency room:

Через emergency room

У этого режима разные названия, но суть одна: через этот режим вы всегда сможете восстановить свой роутер после экспериментов, установить openwrt, dd-wrt и восстановить стандартную прошивку.

Итак:

Если возникают проблемы с загрузкой образа, то поэкспериментируйте с разными браузерами и их старыми версиям.(firefox 13, ie8).

Если возникают проблемы с загрузкой образа на b5,b6,b7, и у вас стоит одна из последних прошивок d-link, то, скорее всего, вам придется понизить версию u-boot.

Для начала проводим манипуляции, описанные здесь

В make menuconfig выбираем в “target” Ralink RT288x/RT3xxx и в “subtarget” RT3x5x/RT5350 based boards. Не трогаем “target profile” (оставляем “Default Profile”). При желании, добавляем Luci и все остальное. После make соберутся образы:

Когда процесс сборки закончится, для прошивки вам необходимо будет, либо использовать factory образ, либо переконвертировать sysupgrade образ OpenWrt в специальный формат dir-300 или dir-600 (смотря какое устройство вы собираетесь перепрошить). Для этого вам нужна программка v2image, которая входит в архив по ссылке: dir300b.v2.02.source.tar.gz Распаковав архив, найдите эту программку, например, поиском. Переместите в директорию с вашей прошивкой. И затем, если вы работаете из-под Linux (что подразумевается по умолчанию), запустите в зависимости от версии вашего устройства:

:!:Изменение данной настройки в домах с большой плотностью wifi точек, может только ухудшить производительность вашего роутера вечером, когда соседские точки сильно загружены.

Суть в том, что по умолчанию в Openwrt соблюдаются законодательства разных стран и при присутствии других wifi роутеров, ваш роутер сбрасывает канал 40mhz до 20 mhz, дабы не загрязнять эфир и не ухудшать собственную производительность, хотя сообщает что умеет 150МБит/c и 40mhz, а так как у нас режим MIMO 1:1, то при 20mhz получаем 65 МБит/с по стандарту.

Как исправить:

Заходим по ssh(если вы еще не установили пароль, то по telnet) и вводим команды:

uci set wireless.radio0.htmode=HT40 /выставляем ширину канала 40mhz, можно и через веб интерфейс.
uci set wireless.radio0.noscan=1 /запрещаем роутеру сканировать окружение.
uci commit wireless /записываем наши команды в конфигурационный файл.
wifi /перезагружает wifi интерфейс с новыми настройками без перезагрузки роутера.

И получаем честные 150МБит/c

D-link DIR-300 REV.B

Верх

Низ

Верх

D-link DIR-300 REV.B Serial

TTL Levels

1,4 — TX/RX

2 — GND

3 — Vcc

настройки по умолчанию: 57600,8N1

Для подключения STB к DIR-300b1, или замены одного из портов LAN в WAN (например в случае неисправного WAN) мы используем 4 порт LAN маршрутизатора. Другой порт в DIR-300b1 работать не будет. Пример /etc/config/network

 config switch_vlan
        option device 'rt305x'
        option vlan '1'
        option ports '1 2 3 6t'

config switch_vlan
        option device 'rt305x'
        option vlan '2'
        option ports '0 4 6t'

This device is NOT RECOMMENDED for future use with OpenWrt due to low flash/ram.

DO NOT BUY DEVICES WITH 4MB FLASH / 32MB RAM if you intend to flash an up-to-date and secure OpenWrt version onto it! See 4/32 warning for details.

1) This device does not have sufficient resources (flash and/or RAM) to provide secure and reliable operation.

This means that even setting a password or changing simple network settings might not be possible any more, rendering the device effectively useless. See OpenWrt on 4/32 devices what you can do now.

2) OpenWrt support for this device has ended in 2022.

19.07.10 was the last official build for 4/32 devices.

Version/Model S/N OpenWrt Version Supported Model Specific Notes
A1 Kamikaze 8.09
Bx other hardware see DIR-300 Rev.B

:!: NOTE: Because of Ticket 6807 OpenWrt 10.03 ‘Backfire’ wasn’t working. In r20733 (2010-04-07) this issue has been fixed. So avoid OpenWrt 10.03 and use OpenWrt 8.09 ‘Kamikaze’, a trunk version newer then r20733 or the newest OpenWrt 10.03.1 ‘Backfire’. Enjoy.

Before you install, you might need to back up the original firmware. It can be done in multiple ways, including but not limited to using UART and/or Telnet. The most important partition is Board/RadioCfg, which is physically located at last 64KiB of flash chip.

# cat /proc/mtd
dev: size erasesize name
mtd0: 00400000 00010000 "spiflash"
mtd1: 001ce000 00010000 "rootfs"
mtd2: 003b0000 00010000 "upgrade"
mtd3: 00010000 00010000 "rgdb"
mtd4: 00020000 00010000 "RedBoot"
mtd5: 00010000 00010000 "Board/RadioCfg"
mtd6: 00010000 00010000 "LangPack"
mtd7: 00400000 00010000 "flash"

Partition sizes correspond to DIR-300 v1.05_a319 firmware. While upgrade partition has multiple sections, only rootfs has got its own mtd device file.

Layer0 raw flash, mtd0 and mtd7, 4096 KiB
Layer1 mtd4
RedBoot
128 KiB
mtd2
upgrade
3776 KiB
mtd6
LangPack
64 KiB
mtd3
rgdb
64 KiB
mtd5
Board/RadioCfg
64 KiB
Layer2 No device
kernel
512 KiB
PackImg
header
32B
mtd1
rootfs
1848 KiB
empty
space
8160B
No device
data
1408 KiB

When original firmware is flashed onto the router, first 96B are stripped, since it’s a header of some kind. The rest of it is written directly to upgrade partition. Knowing this allows restoring original firmware from an alternative firmware, such as OpenWrt. A command such as tail -c +97 dir300a.bin > upgrade.bin allows to prepare file suitable for writing directly onto mtd partition.

The data on the end of upgrade partition is likely remaining from past installation of some alt firmware and not used for anything.

First let’s have a quick view at the Flash Layout with the stock firmware and once OpenWrt has been installed onto the device. This helper understanding what mtd/sysupgrade does.

The D-Link DIR-300 Rev.A1 uses this flash Layout:

Layer0 raw flash, 4096KiB
Layer1 mtd0
RedBoot
196.6KiB
mtd1
rootfs
2.6MiB
mtd3
vmlinux.bin.l7
1.3MiB
Kernel”,
mtd4
FIS directory
61.4KiB
mtd5
RedBoot config
4.1KiB
mtd6
boardconfig
65.5KiB
Layer2 mtd2
rootfs_data
720.9KiB
/”, JFFS2

:!: Notes:
As opposed to other devices, there is no OpenWrt firmware partition, so you cannot address it with mtd -r write xxx.bin firmware. The explanation for this is, that the “FIS” (File Information System) must be adjusted every time the flash is written. Unfortunately, mtd cannot do that, and thus cannot be used to do updates. Instead, RedBoot is used for updates.

If you need to backup SPI flash you don’t need mtd2(rootfs_data) partition. You need to join 0,1,3,4,5,6 with cat command like:

cat /dev/mtd0 > /tmp/dir300_full_flash.bin
cat /dev/mtd1 >> /tmp/dir300_full_flash.bin
cat /dev/mtd3 >> /tmp/dir300_full_flash.bin
cat /dev/mtd4 >> /tmp/dir300_full_flash.bin
cat /dev/mtd5 >> /tmp/dir300_full_flash.bin
cat /dev/mtd6 >> /tmp/dir300_full_flash.bin

Then you can save your SPI flash somewhere safe with:

scp /tmp/dir300_full_flash.bin user@othersite:/path

Some users have reported that the JFFS version of OpenWrt can remove the boardconfig area of the flash. If you need to restore to the original firmware or to the emergency redboot web flash page at any point, instructions are here

Note My DIR-300 takes ridiculously long to boot. I measured about 70 seconds after power connection has been established until I can connect to the bootloader and about 160 seconds until I can telnet/ssh to the OpenWrt! Maybe this is normal, maybe I miss-configured the replacement bootloader at the first time installation. FYI.

In order to replace the original firmware with OpenWrt, you will need to replace the BootLoader as well. RedBoot is OpenSource software and we are going to replace the original one with a modified one here or from the DD-Wrt-Project. For the first time installation of OpenWrt on the D-Link DIR-300 (Rev.A1) or on the Airlink AR335W/AR430W you need to obtain 4 files from the Internet and have a tfpd (i.e. daemon, not client) running.

First you should install a tfpt-daemon and change into its root directory. After installation it will be automatically started. In Ubuntu do:

sudo aptitude install tftpd-hpa
cd /var/lib/tftpboot

Now download the four files directly into this directory. You only need sudo, because as a normal user you cannot write in here:

sudo wget http://www.dd-wrt.com/dd-wrtv2/downloads/v24/Atheros%20WiSoc/Airlink%20101%20AR430W/ap61.ram
sudo wget http://www.dd-wrt.com/dd-wrtv2/downloads/v24/Atheros%20WiSoc/Airlink%20101%20AR430W/ap61.rom

sudo wget http://downloads.openwrt.org/snapshots/trunk/atheros/openwrt-atheros-vmlinux.lzma
sudo wget http://downloads.openwrt.org/snapshots/trunk/atheros/openwrt-atheros-root.squashfs

Let’s assume, you have only one NIC in you PC, while keeping you browser with this page open so you can read on, you will need to give yourself the IP 192.168.20.80. Now before you proceed, due to compatibility issues, you need to create the ~/.telnetrc. It has to contain the following:

Connect your NIC to the WAN-Port of the DIR-300 and then restart the Router. While it reboots, after about 5 sec, there is a window of about 1 sec, during which you should be able to login to the original BootLoader of the DIR-300. Simply repeat this, until success:

telnet 192.168.20.81 9000

This is not a big deal, and you should be successful at first try. You will be presented with the original RedBoot prompt eagerly awaiting your input:

Now we will get and execute the modified (and temporary) RedBoot from the DD-Wrt-Project:

Redboot> load ap61.ram go

or split over two commands (if you get an error with the above)

Redboot> load ap61.ram
Redboot> go

You will get no feedback and nothing has been written onto the flash yet, but the new temporary BootLoader should be running. To communicate with it, you need to change your own IP from 192.168.20.80 to 192.168.1.2 and reconnect the ethernet cable to one of the LAN-Ports of the Router. Then telnet to it:

The modified (and temporary) BootLoader awaits you.

Now you need to make things permanent. For this we will use the other file, the ap61.rom:

DD-WRT>fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x807f0000-0x80800000 at 0xbffe0000: .

DD-WRT>ip_address -h 192.168.1.2
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2

DD-WRT>load -r -b %{FREEMEMLO} ap61.rom
Using default protocol (TFTP)
Raw file loaded 0x80080000-0x800a8717, assumed entry at 0x80080000

DD-WRT>fis create -l 0x30000 -e 0xbfc00000 RedBoot
An image named 'RedBoot' exists - continue (y/n)? y
... Erase from 0xbfc00000-0xbfc30000: ...
... Program from 0x80080000-0x800a8718 at 0xbfc00000: ...
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x807f0000-0x80800000 at 0xbffe0000: .

DD-WRT>fconfig bootp false
bootp: Setting to false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: . 
DD-WRT>reset

The Router will reboot, it should take about a minute. You login again to the modified (but this time persistent) BootLoader, load and fis the OpenWrt-Images onto the flash and configure the BootLoader:

DD-WRT>fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x807f0000-0x80800000 at 0xbffe0000: .

DD-WRT>ip_address -h 192.168.1.2
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2

DD-WRT>load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
Raw file loaded 0x80040800-0x801007ff, assumed entry at 0x80040800

DD-WRT>fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7
... Erase from 0xbfc30000-0xbfcf0000: ............
... Program from 0x80040800-0x80100800 at 0xbfc30000: ............
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

DD-WRT>load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs
Using default protocol (TFTP)
Raw file loaded 0x80040800-0x802207ff, assumed entry at 0x80040800''

DD-WRT>fis create rootfs
... Erase from 0xbfcf0000-0xbffe0000: ...............................................
... Program from 0x80040800-0x80220800 at 0xbfcf0000: ..............................
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

DD-WRT>fconfig boot_script_timeout 5

DD-WRT>fconfig boot_script true
Run script at boot: true 

DD-WRT>fconfig
Run script at boot: true
Boot script:
Enter script, terminate with empty line
>> fis load -l vmlinux.bin.l7
>> exec
>>
Boot script timeout (1000ms resolution): 5
Use BOOTP for network configuration: false
Gateway IP address: 192.168.1.1
Local IP address: 192.168.1.10
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.1.228
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .''

DD-WRT>reset

And we are done. This time the reboot could take up to 4-5 minutes, so be patient.

:!: If you don’t trust the script below (it loads some binary from some blog, use the step by step guideline above ;-)

For linux there is shell script called dir300-flash; it wraps the manual steps for replacing the original bootloader and/or flashing firmware images into a single command line. The script requires a tftp-daemon to be already running. See –help for further details. Usage:

$ sudo ./dir300-flash.sh eth0 openwrt-atheros-vmlinux.lzma openwrt-atheros-root.squashfs
Please connect now the WAN port of the DIR-300 wireless router directly to
the interface “eth0” and then power the wireless router on.
Waiting for the wireless router..... done
Testing for the factory bootloader... yes
Uploading the temporary bootloader RAM image... done
Starting the temporary bootloader... done
Waiting for the temporary bootloader to come up.... done
Uploading the new bootloader ROM image... done
Warning: Do not power off or disconnect as this may break the wireless router!
Setting up bootloader configuration... done
Flashing the new bootloader... done
Resetting the wireless router... done
Waiting for the new bootloader............. done
Uploading the new kernel image... done
Flashing the new kernel image... done
Uploading the new root filesystem... done
Flashing the new root filesystem... done
Resetting the wireless router... done

For reflashing via the bootloader do:
You have to compile by your own — Not enough memory to boot the openwrt. Example of configuration where device boot fine — No gui/www, no dhcp server, only ssh.

CONFIG_TARGET_ath25=y
CONFIG_TARGET_ath25_Default=y
CONFIG_TARGET_BOARD="ath25"
# CONFIG_ATH_USER_REGD is not set
# CONFIG_IPV6 is not set
CONFIG_KERNEL_COREDUMP=y
CONFIG_KERNEL_DEBUG_INFO=y
CONFIG_KERNEL_DEBUG_KERNEL=y
CONFIG_KERNEL_ELF_CORE=y
# CONFIG_KERNEL_IPV6 is not set
CONFIG_KERNEL_SWAP=y
# CONFIG_PACKAGE_ATH_DFS is not set
# CONFIG_PACKAGE_MAC80211_MESH is not set
# CONFIG_PACKAGE_dnsmasq is not set
# CONFIG_PACKAGE_firewall is not set
# CONFIG_PACKAGE_iptables is not set
# CONFIG_PACKAGE_kmod-ipt-conntrack is not set
# CONFIG_PACKAGE_kmod-ipt-core is not set
# CONFIG_PACKAGE_kmod-ipt-nat is not set
# CONFIG_PACKAGE_kmod-ipt-offload is not set
# CONFIG_PACKAGE_kmod-nf-conntrack is not set
# CONFIG_PACKAGE_kmod-nf-flow is not set
# CONFIG_PACKAGE_kmod-nf-ipt is not set
# CONFIG_PACKAGE_kmod-nf-ipt6 is not set
# CONFIG_PACKAGE_kmod-nf-nat is not set
# CONFIG_PACKAGE_kmod-nf-reject is not set
# CONFIG_PACKAGE_kmod-ppp is not set
# CONFIG_PACKAGE_libip4tc is not set
# CONFIG_PACKAGE_libip6tc is not set
# CONFIG_PACKAGE_libpthread is not set
# CONFIG_PACKAGE_libxtables is not set
# CONFIG_PACKAGE_odhcpd-ipv6only is not set
# CONFIG_PACKAGE_opkg is not set
# CONFIG_PACKAGE_ppp is not set
CONFIG_PACKAGE_kmod-lib-crc-ccitt=y

On tftp server, two files are needed:

openwrt-ath25-generic-kernel.lzma
openwrt-ath25-generic-squashfs-rootfs.bin

Connect to telnet to 192.168.1.10 port 9000

fis init
ip_address -h 192.168.1.2
load -r -b %{FREEMEMLO} openwrt-ath25-generic-kernel.lzma
fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7
load -r -b %{FREEMEMLO} openwrt-ath25-generic-squashfs-rootfs.bin
fis create rootfs

For reflashing via the bootloader do:

fis init
ip_address -h 192.168.1.2
load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma
fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7
load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs
fis create rootfs

If your router have already had DD-WRT installed, there will be a chance that the existing bootloader is MicroRedboot. In that case, the router boots rather fast, you cannot telnet to 192.168.1.1 9000 at start up. You will have to use Reset button to access Redboot. See http://www.dd-wrt.com/wiki/index.php/Micro_Redboot for more detail.

If you have already followed this guide and your router is running OpenWrt, but because of some reason you still want to reflash using the bootloader you can access Redboot after 10-11 seconds from powering the device up with the following command:

telnet 192.168.1.10 9000

Use the openwrt-atheros-combined.squashfs.img to upgrade OpenWrt. The file can be found here. http://downloads.openwrt.org/backfire/10.03.1/atheros/ (this is the latest version at the time of wiki edit. There may be newer versions, so look around)

LUCI

  1. Go to System > Flash firmware

  2. Point to openwrt-atheros-combined.squashfs.img that you have downloaded

  3. Upload image

  4. Flash it

Terminal

  1. download the combined firmware from OpenWrt to your router:

    cd /tmp
    wget http://downloads.openwrt.org/snapshots/trunk/atheros/openwrt-atheros-combined.squashfs.img
    wget http://downloads.openwrt.org/snapshots/trunk/atheros/md5sums
  2. utilize sysupgrade:

    sysupgrade /tmp/openwrt-atheros-combined.squashfs.img

download putty.exe to c:\
create a file on c:\ called redboot.txt, with the following content:

^C

create a file on c:\ called redboot.bat with the following content:

rem echo off
:start
rem ------------------------------------------------
ping 192.168.20.81 -n 1 -w 1 >NUL
IF ERRORLEVEL 1 goto start

rem putty
rem ------------------------------------------------
break
putty.exe telnet://192.168.20.81:9000 -m redboot.txt
exit

start the bat file and power on the router…..here comes redboot

Architecture MIPS
Vendor Atheros
Bootloader redboot
System-On-Chip AR2317 (MIPS 4KEc V6.4)
CPU Speed 182 Mhz
Flash chip Spansion FL032AIF (3.0V)
Flash size 4 MiB (32MBit)
RAM chip ESMT M12L128168A (SDRAM)
RAM size 16 MiB (128MBit; 2M x 16 Bit x 4 Banks)
Wireless Integrated Atheros 802.11b/g
Ethernet IC Plus 175c
USB No
Serial Yes
JTAG Yes

→ JP1

|Power| |Wan| |Ethernet x4 ports| |Ant|

|TXD|
|GND|
|VCC|
| . |
|RXD|

speed 9600,n,8.

If you just see non-printable characters in the console, you may want to change baudrate. In some case, where MicroRedboot is install, the speed is 115200.

→ J6

The router follows the MIPS 2.6 EJTAG Specification and has the same PIN information. But on the board the PINS are laid out as

1 — nTRST 2 — GND 3 — TDI 4 — GND 5 — TDO 6 — GND 7 — TMS
14 — VCC 13 — N/C 12 — N/C 11 — nSRST 10 — GND 9 — TCK 8 — GND

The default network configuration is:

Interface Name Description Default configuration
br-lan LAN & WiFi 192.168.1.1/24
eth0.1 LAN ports (1 to 4) None
eth0.2 WAN port DHCP
ath0 WiFi Disabled

To enable WiFi, you need to install packages xxx and xxx.

Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itself. Don’t be fooled: Port 1 on the unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on.

Port Internet (WAN) LAN 1 LAN 2 LAN 3 LAN 4
Switch port 4 3 2 1 0

Assuming OpenWrt is already installed, log on the the device via SSH, then do:

cat /dev/mtdblock0 > /tmp/RedBoot.bin

Copy the file (with scp, for example) to your local computer and generate a MD5-checksum for it.

md5sum RedBoot.bin

if it equals with B9D638E537D01D3ED651FAB2AF63FC22 it is probalby safe to go on. Load the file into a hex editor and

- change offset 0x17 from 0x03 to 0x01
- change offset 0x23 from 0x5c to 0x28

MD5 checksums:
DIR-300 183MHz: B9D638E537D01D3ED651FAB2AF63FC22
DIR-300 200MHz: 713806dbb99cb0e633a385eb1a8b5440

Copy the modded RedBoot.bin back to the /tmp folder of your router and flash it back:

mtd -f write /tmp/RedBoot.bin RedBoot

Reboot, then check CPU frequency:

cat /proc/cpuinfo

There is a working mod to add a SD-card slot to your DIR-300. Follow the instructions here.

[ 0.000000] Linux version 4.14.67 (kofec@E5420Mint) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7981-a6e11ccb13)) #0 Wed Aug 29 19:00:58 2018
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019064 (MIPS 4KEc)
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 01000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty — disabling initrd
[ 0.000000] Primary instruction cache 16kB, VIPT, 4-way, linesize 16 bytes.
[ 0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 16 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000000ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000000ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000000ffffff]
[ 0.000000] On node 0 totalpages: 4096
[ 0.000000] free_area_init_node: node 0, pgdat 8039ed20, node_mem_map 80403020
[ 0.000000] Normal zone: 32 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 4096 pages, LIFO batch:0
[ 0.000000] random: get_random_bytes called from 0x803a2724 with crng_init=0
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 4064
[ 0.000000] Kernel command line: console=ttyS0,9600 rootfstype=squashfs,jffs2
[ 0.000000] PID hash table entries: 64 (order: -4, 256 bytes)
[ 0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Memory: 12076K/16384K available (2952K kernel code, 137K rwdata, 364K rodata, 184K init, 198K bss, 4308K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 128
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 20774570075 ns
[ 0.000044] sched_clock: 32 bits at 92MHz, resolution 10ns, wraps every 23342213114ns
[ 0.093925] Calibrating delay loop… 183.70 BogoMIPS (lpj=918528)
[ 0.247254] pid_max: default: 32768 minimum: 301
[ 0.303331] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.381815] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.478520] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.595452] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.670236] NET: Registered protocol family 16
[ 0.725362] Can’t analyze schedule() prologue at 8031ebb8
[ 0.874847] clocksource: Switched to clocksource MIPS
[ 0.941291] NET: Registered protocol family 2
[ 0.996916] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 1.079706] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 1.155501] TCP: Hash tables configured (established 1024 bind 1024)
[ 1.232162] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 1.301397] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 1.377303] NET: Registered protocol family 1
[ 1.429005] PCI: CLS 0 bytes, default 16
[ 1.459740] Radio config found at offset 0xf8 (0x1f8)
[ 1.549079] Crashlog allocated RAM at address 0xf00000
[ 1.630362] workingset: timestamp_bits=30 max_order=12 bucket_order=0
[ 1.739465] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.808609] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 1.992085] io scheduler noop registered
[ 2.038321] io scheduler deadline registered (default)
[ 2.100486] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 2.196960] serial8250: ttyS0 at MMIO 0x11100000 (irq = 9, base_baud = 5750000) is a 16550A
[ 2.296346] console [ttyS0] enabled
[ 2.379633] bootconsole [early0] disabled
[ 2.480695] ar2315-spiflash ar2315-spiflash.0: 4096 Kbytes flash detected
[ 2.575388] Searching for RedBoot partition table in spiflash at offset 0x3d0000
[ 3.039138] Searching for RedBoot partition table in spiflash at offset 0x3e0000
[ 3.502859] 6 RedBoot partitions found on MTD device spiflash
[ 3.572014] Creating 6 MTD partitions on «spiflash»:
[ 3.631853] 0x000000000000-0x000000030000 : «RedBoot»
[ 3.704474] 0x000000030000-0x000000160000 : «vmlinux.bin.l7»
[ 3.784163] 0x000000160000-0x0000003e0000 : «rootfs»
[ 3.849281] mtd: device 2 (rootfs) set to be root filesystem
[ 3.917851] 1 squashfs-split partitions found on MTD device rootfs
[ 3.992372] 0x0000002d0000-0x0000003e0000 : «rootfs_data»
[ 4.074338] 0x0000003e0000-0x0000003ef000 : «FIS directory»
[ 4.152968] 0x0000003ef000-0x0000003f0000 : «RedBoot config»
[ 4.232712] 0x0000003f0000-0x000000400000 : «boardconfig»
[ 4.376558] eth0: Atheros AR231x: 00:1e:58:85:6f:8e, irq 4
[ 4.519858] IP17xx: Found IP175C at 0:00
[ 4.688305] libphy: ar231x_eth_mii: probed
[ 4.906966] eth0: attached PHY driver [IC+ IP17xx] (mii_bus:phy_addr=0:00)
[ 4.996733] NET: Registered protocol family 17
[ 5.050827] 8021q: 802.1Q VLAN Support v1.8
[ 5.158519] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[ 5.245421] Freeing unused kernel memory: 184K
[ 5.298969] This architecture does not have kernel memory protection.
[ 5.694951] random: fast init done
[ 8.640944] init: Console is alive
[ 8.683616] init: — watchdog —
[ 11.214585] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 11.470643] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 11.569761] init: — preinit —
[ 15.415089] eth0: link up (100Mbps/full duplex)
[ 17.957847] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[ 18.098917] urandom-seed: Seed file not found (/etc/urandom.seed)
[ 18.544184] procd: — early —
[ 18.580065] procd: — watchdog —
[ 19.630296] procd: — watchdog —
[ 19.671190] procd: — ubus —
[ 19.946288] random: ubusd: uninitialized urandom read (4 bytes read)
[ 20.025809] random: ubusd: uninitialized urandom read (4 bytes read)
[ 20.102960] random: ubusd: uninitialized urandom read (4 bytes read)
[ 20.188693] procd: — init —
[ 21.166424] kmodloader: loading kernel modules from /etc/modules.d/*
[ 21.251507] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[ 21.347929] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[ 22.287420] ath: EEPROM regdomain: 0x0
[ 22.287470] ath: EEPROM indicates default country code should be used
[ 22.287484] ath: doing EEPROM country->regdmn map search
[ 22.287530] ath: country maps to regdmn code: 0x3a
[ 22.287553] ath: Country alpha2 being used: US
[ 22.287568] ath: Regpair used: 0x3a
[ 22.290628] ieee80211 phy0: Selected rate control algorithm ‘minstrel_ht’
[ 22.297900] ath5k: phy0: Atheros AR2317 chip found (MAC: 0x90, PHY: 0x48)
[ 22.496682] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 24.792537] urandom_read: 4 callbacks suppressed
[ 24.792579] random: jshn: uninitialized urandom read (4 bytes read)
[ 25.144620] random: jshn: uninitialized urandom read (4 bytes read)
[ 26.378829] random: jshn: uninitialized urandom read (4 bytes read)
[ 43.626312] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[ 44.015184] jffs2_build_filesystem(): unlocking the mtd device…
[ 44.015243] done.
[ 44.112911] jffs2_build_filesystem(): erasing all blocks after the end marker…
[ 59.213539] eth0: link up (100Mbps/full duplex)
[ 59.431960] br-lan: port 1(eth0.1) entered blocking state
[ 59.497131] br-lan: port 1(eth0.1) entered disabled state
[ 59.563771] device eth0.1 entered promiscuous mode
[ 59.621607] device eth0 entered promiscuous mode
[ 60.637489] br-lan: port 1(eth0.1) entered blocking state
[ 60.702589] br-lan: port 1(eth0.1) entered forwarding state
[ 67.826211] done.
[ 67.849791] jffs2: notice: (650) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[ 70.107830] overlayfs: upper fs does not support tmpfile.
[ 137.135206] random: crng init done

Перейти к основному содержанию

Установка и настройка серверов Linux,создание сайтов, установка и настройка Asterisk PBX, Linux для начинающих и не только.

   Сегодня прошьем на WIFI роутер D-Link DIR300NRUB7 который постоянно зависает и глючит прошивку OpenWRT последней на данный момент 15 версии.

Для этого скачиваем прошивку на странице сайта OpenWRT по ссылке :

Скачиваем прошивку OpenWRT 15 для wifi роутера D-Link DIR300NRUB7 - 1 

   Сохраняем скачиваемую прошивку на компьютер:

Скачиваем прошивку OpenWRT 15 для wifi роутера D-Link DIR300NRUB7 - 2

      Скачиваем прошивку OpenWRT 15 для wifi роутера D-Link DIR300NRUB7 - 3

    Подключаем роутер к компьютеру, предварительно для сетевой карты указываем айпи 192.168.0.2, и далее используем инструкцию с официального сайта OpenWRT по прошивке роутера через Веб интерфейс режима Emergency room. У этого режима разные названия, но суть одна: через этот режим вы всегда сможете восстановить свой роутер после экспериментов, установить openwrt, dd-wrt и восстановить стандартную прошивку. 

  • Скачиваем образ для b1, b2, b3 или b5, b6, b7

  • Выключаем роутер, вынимаем все остальные кабели, подключаем компьютер к роутеру (для b1 рекомендуется использовать синий кабель из комплекта.)

  • Устанавливаем на компьютере IP вручную 192.168.0.2, подсеть 255.255.255.0, шлюз 192.168.0.1.(Если не сработало то 192.168.1.2, подсеть 255.255.255.0, шлюз 192.168.1.1)

  • Зажимаем кнопку Reset.

  • Включаем роутер и ждем 10-20 секунд.

  • Отпускаем Reset, ждем минуту и подключаемся через браузер к 192.168.0.1. (192.168.1.1)

   Для проверки запустим команду пинг с компьютера до роутера выполнив команду:

Проверяем пинг с компьютера до роутера

   Видим веб-интерфейс восстановления прошивки, в открывшемся окне кликаем на кнопку Обзор и выбираем скачанный файл прошивки:

    После автоматической перезагрузки получаем openwrt, адрес админки 192.168.1.1(не забываем сменить настройки сетевухи на автоматические):

Прошивка OpenWRT 15 на wifi роутер D-Link DIR300NRUB7 установлена и открываем веб интерфейс OpenWRT 15

  • Если возникают проблемы с загрузкой образа, то поэкспериментируйте с разными браузерами и их старыми версиям.(firefox 13, ie8).
  • Если возникают проблемы с загрузкой образа на b5,b6,b7, и у вас стоит одна из последних прошивок d-link, то, скорее всего, вам придется понизить версию u-boot.

   После установки прошивки, заходим в веб интерфейс OpenWRT 15  указав логин root без пароля, и на скриншоте ниже видим, что веб интерфейс напоминает, о том, что пароль пользователя root отсутствует и необходимо обязательно установить сложный пароль, а так же настроить безопасность WIFI сети со сложным паролем:

Обязательно изменяем пароль пользователя root и настраиваем безопасность WIFI сети

Сегодня мы установили прошивку OpenWRT 15 на wifi роутер D-Link DIR300NRUB7, буду рад, если Вам понадобится данный материал.

С Вами был Сергей Лазаренко.

Сделаем небольшой перерыв и посмотрим интересное видео о самодельном циклоне из ведра:

Рейтинг статьи: 

В статье пойдет речь о установке OpenWRT и дальнейшей пляске с бубном (да, да, да, ежемесячно или даже еженедельно кто-то пишет про установку OpenWRT, но у каждого возникают свои заморочки).

Итак, что мы имеем:

  • Dir-300 NRU B7;
  • Желание прикрутить USB 2.0;
  • Желание пощупать OpenWRT.

Добро пожаловать под кат.

Все началось с изучения возможностей DIR-300 и его последующей модернизации. USB разведено на плате, но отсутствуют элементы. Руки вроде прямые, но трясутся, паяльником орудовать малость умею. OpenWRT устанавливается и работает без каких-либо проблем. OpenWrt — Linux, пусть и урезанный, значит можно и в нем поднять немного знаний в *nix среде.

Фото пациента

image

image

1. Начнем с USB

Почитав даташит на чип RT-3050, понял, что можно запустить USB 2.0, но для этого нужно впаять резистор на 8,2 КоМ. Серфинг привел на статью Установка антенны и распайка USB. Однако в ней не было точного описания техпроцесса и возможных альтернатив решения поставленной цели.

В комментариях появилась ссылка на подробный техпроцесс по прикручиванию USB. Изучив обе статьи, я приступил к паяльным процедурам.

Понадобилось:

  • Конденсатор — 6.3V 1000мF
  • Резистор — 8,2 КоМ
  • Керамический конденсатор подходящий по размеру в место пайки.
  • Резистор 3шт. — 0 оМ (перемычка) — обошелся свинцовыми соплями.

Места пайки элементов видно на фото (фото из статьи »Прикручиваем USB»)

image

image

Моя реализация

image

image

image

image

(Гуру пайки и мастера работы с фотоаппаратурой, попрошу без комментариев о том, какой автор криворук и прочее, трясущиеся руки с детства и подозрение на Паркенсон думаю достаточный довод не язвить.)

Запаяли, закрутили,
Скотчем порт мы прилепили,
Прошу от кинетик загрузили,
Радость от процесса получили.

Итог: залил прошивку от кинетика 3г (точно не помню, но какое-то зюкселевкое бррр), через аварийный режим.

Зажать reset и подключить питание, роутер загрузиться в аварийном режиме и будет доступен или по 192.168.0.1 или 192.168.1.1
Будет кнопка выбора файла прошивки. Прошивку будет заливать без проверки на валидность и прочее, будьте бдительны

Порадовался успеху и новой прошивке, но понял что надо лить OpenWRT.

Вот тут, как говориться, пришел медведь. Запускаю роутер в режим аварийной загрузки, а фиг там — прошивка изменила бут и не грузит предыдущий бутлоадер. Ну, думаю, приехал.

Побродив по форумам, понял, что зуксель, как и циска, любит tftp для восстановления прошивки, причем без проверки на содержимое. Устанавливаю и запускаю tftp, включаю роутер, и в окне программы начинает сыпаться сообщение о необходимости файла «…bin». Хорошо, беру прошивку OpenWRT с сайта «openwrt-15.05-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin» переименовываю в нужный файл для восстановления, кидаю в папку tftp, перегружаю роутер в аварийный режим и — вуаля: скушал прошивку, перегрузился, и Люся радостно отозвалась на 192.168.1.1.

Полазив по настройкам и почитав форумы, понял, что мне надо ставить пакеты для поддержки USB. С радостью полез в «Программное обеспечение» и понял что кердык: места хватает только для «block mount».

2. OpenWRT, готовое решение, сборка из исходников и танцы с бубном для установки забытого

Почитав многочисленные статьи про установку OpenWRT и сборку из исходников, понял, что для того, чтобы запустить USB на DIR-300, желательно собрать прошивку из исходников, убрав все лишнее. И если я прикручиваю USB, то есть смысл сразу перенести систему на флешку.

За основу взяты статьи: раз, два и три.

Поставил виртуалку с убунтой 12, обновил репозиторий и понеслась.

Сборка из исходников

sudo apt-get install subversion git
sudo apt-get install g++ libncurses5-dev zlib1g-dev gawk libssl-dev

Дальше стал выбор ядра, я выбрал ломателя барьеров.

svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker wrt

cd ~/wrt
./scripts/feeds update -a
./scripts/feeds install -a

~/wrt$ make prereq

make menuconfig

Конфигурируем прошивку под себя:

Target System — Ralink RT288x/RT3xxx
Subtarget — RT3x5x/RT5350 based boards
Target Profile — Default Profile

Далее выбираем нужные модули и плюшки.

Global build settings
[ ] Enable IPv6 support in packages

Base system —>
<*> block-mount

Base system
busybox
Networking utilities
[ ] Enabled IPv6 support

Kernel modules
Netfilter Extensions
[ ]kmod-ip6tables

Kernel modules
Network support
[ ] kmod-ipv6

Kernel modules —>
USB Support —>
<*> kmod-usb-core
<*> kmod-usb-ohci
<*> kmod-usb-storage
<*> kmod-usb-usb2

Kernel modules —>
Filesystems —>
<*> kmod-fs-ext4

Libraries
Firewall
< > libip6tc

LuCI —>
1. Collections —>
<*> luci
5. Translations —>
<*> luci-i18n-russian

Network —>
<*> ppp
<*> ppp-mod-pppoe
<*> ppp-mod-pppol2tp
<*> ppp-mod-pptp

Network
< > 6relayd
< > odhcp6c

Нажимаем Exit, сохраняем конфигурацию и собираем прошивку.

make V=99
(Если будете собирать под локально установленной убунтой можно добавить параметр «-j3» если у вас 4 ядра на проце, ускорит процесс сборки «make -j3 V=99»)

Как сборка будет окончена, лезем в «~/wrt/bin» и ищем «openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin». Заливаем прошивку и радуемся.

Подключаем флешку и настраиваем загрузку OpenWRT с флешки

Итак, прошили «openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin». Подготавливаем флешку: из убунты форматируем и приводим в к следующему виду (можно и в акронисе, на вкус и цвет фломастеры разные):

image

Далее подключаем флешку к роутеру, подключаемся по ssh и вводим «dmesg | grep sda». Должно вывести следующее:

[ 5069.910000] sd 0:0:0:0: [sda] No Caching mode page present
[ 5069.920000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 5069.920000] sda: sda1 sda2 sda3
[ 5069.930000] sd 0:0:0:0: [sda] No Caching mode page present
[ 5069.940000] sd 0:0:0:0: [sda] Assuming drive cache: write through

Выполняем:

block detect > /etc/config/fstab

Приводим fstab к следующему виду:

root@OpenWrt:~# cat /etc/config//fstab

config global
option anon_swap ‘0’
option anon_mount ‘0’
option auto_swap ‘1’
option auto_mount ‘1’
option delay_root ‘5’
option check_fs ‘0’

config mount
option uuid «здесь ваш UUID»
option device ‘/dev/sda1’
option fstype ‘ext4’
option options ‘rw,sync’
option enabled ‘1’
option is_rootfs ‘1’
option enabled_fsck ‘0’
option target ‘/overlay’

config mount
option target ‘/home’
option uuid «здесь ваш UUID»
option device ‘/dev/sda2’
option fstype ‘ext4’
option options ‘rw,sync’
option enabled ‘1’
option enabled_fsck ‘0’

config swap
option uuid «здесь ваш UUID»
option enabled ‘1’

Используя UUID, мы точно будем уверенны что загрузимся с нашей флешки, если подключим 2 флешку или внешний винт и прочее.

После, осуществляем процесс переноса системы на флешку.

mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1
mkdir /tmp/cproot
mount —bind / /tmp/cproot
tar -C /tmp/cproot -cvf — . | tar -C /mnt/sda1 -xvf — sync; umount /mnt/sda1
umount /tmp/cproot

Перегружаем роутер и проверяем все ли правильно примонтировалось

df -h

Filesystem Size Used Available Use% Mounted on
rootfs 476.2M 16.2M 431.0M 4% /
/dev/root 2.5M 2.5M 0 100% /rom
tmpfs 14.4M 628.0K 13.8M 4% /tmp
/dev/sda1 476.2M 16.2M 431.0M 4% /overlay
overlayfs:/overlay 476.2M 16.2M 431.0M 4% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda2 368.7M 2.0M 343.2M 1% /home

У меня все прошло без геморроя, так что если у вас возникли проблемы и роутер не грузится, вытащите флешку, отформатируйте и попробуйте по новой.

Если необходимо все сбросить на ноль, то вводим:
mtd -r erase rootfs_data

Радуемся: система стартует с флешки и теперь можно ставить хоть какие пакеты, не задумываясь о нехватке места.

По поводу свопа: если подключите внешний винт, то имеет смысл перенести его в начало, т.к. там наиболее быстрая область; для флешки в конец, чтобы не сдохла быстро.

Все вышесказанное — ИМХО.

Танцы с бубном и монтируем шары из сети

Захотелось, чтобы OpenWRT могла использовать сетевые шары, ну так, на всякий случай. Почитав статью из Вики проекта, решил установить следующие пакеты:

opkg install kmod-fs-cifs kmod-nls-utf8 kmod-nls-base kmod-crypto-hmac kmod-crypto-md5 kmod-crypto-misc cifsmount

Но система меня послала, начав ругаться на несоответствие ядра пакета и ядра установленной OpenWRT. Выходом стала пересборка прошивки, включив необходимые пакеты. Сделал и приуныл. Прошивка весила практически 5 метров, она физически не помещалась в роутер т.к. там 4 метра. Конечно, можно было перепаять флеш, но у меня нету под рукой ни программатора, ни нужной флешки, ни паяльной станции. Была мысль распаковать прошивку сразу на флешку, но отказался от этой идеи, ибо руки болели от постукивания в бубен. Но главное — после компиляции прошивки на 5 метров пакеты уже были собраны и лежали тихо-мирно в папке «packages». Скопировал нужные пакеты на флешку и прописал:

opkg install /home/kmod-crypto-misc_3.10.49-1_ramips_24kec

И тут меня ждал облом, установщик ругался на неправильную контрольную сумму. Курение мануалов и форумов дало следующее решение:

opkg install —nodeps —force-checksum /home/kmod-crypto-misc_3.10.49-1_ramips_24kec

Ура пакет установился без каких-либо ошибок. Пакеты, которые нужны для работы cifs:

kmod-fs-cifs — поддержка файловой системы
kmod-nls-utf8 — поддержка кодировки
kmod-crypto-misc — то же за чем-то надо )))
cifsmount — набор утилит для работы через mount -t cifs (без него у меня жаловался на неправильные аргументы)

Данные пакеты уже были установлены в системе, видимо, kmod-fs-ext4 их подтянул как зависимости:

kmod-nls-base
kmod-crypto-hmac
kmod-crypto-md5

Проверяем:

mount -t cifs -o rw,guest,iocharset=utf8 //192.168.0.2/d /mnt/h0mikus_D

ls -l /mnt/h0mikus_D

root@OpenWrt:~# ls -l /mnt/h0mikus_D/
drwxr-xr-x 0 root root 0 Jun 13 2015 !!!PAP5450_firmware_update
drwxr-xr-x 0 root root 0 Dec 20 19:52 !!!iPhone
drwxr-xr-x 0 root root 0 Dec 2 21:25 !!!temp_downloads
drwxr-xr-x 0 root root 0 Nov 16 23:04 $RECYCLE.BIN
drwxr-xr-x 0 root root 0 Dec 26 01:41 111hgk
drwxr-xr-x 0 root root 0 Jun 13 2015 Cert
-rwxr-xr-x 0 root root 3552 Aug 25 2013 Chizh — Bombardirovschiki intro.gp5
drwxr-xr-x 0 root root 0 Oct 14 12:54 Cisco Packet Tracer 6.2sv
drwxr-xr-x 0 root root 0 Dec 13 17:56 Games
drwxr-xr-x 0 root root 0 Nov 17 20:36 Install
drwxr-xr-x 0 root root 0 Jun 13 2015 System Volume Information
drwxr-xr-x 0 root root 0 Dec 3 11:33 VirtualBox
drwxr-xr-x 0 root root 0 Dec 25 03:06 _acestream_cache_
drwxr-xr-x 0 root root 0 Dec 4 19:46 backup
drwxr-xr-x 0 root root 0 Oct 11 13:41 downloads
drwxr-xr-x 0 root root 0 Sep 5 19:59 old work
-rwxr-xr-x 0 root root 3407876 Dec 2 18:09 openwrt-15.05-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin
-rwxr-xr-x 0 root root 3670020 Dec 25 20:59 openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin
drwxr-xr-x 0 root root 0 Nov 27 18:07 study
-rwxr-xr-x 0 root root 3407876 Dec 25 00:36 work_openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgrade.bin
drwxr-xr-x 0 root root 0 Oct 22 13:30 Диета
drwxr-xr-x 0 root root 0 Jun 13 2015 Диплом
-rwxr-xr-x 0 root root 3149509277 Jan 10 2011 Карьерный рост.mp4
drwxr-xr-x 0 root root 0 Jun 13 2015 Мое
dr-xr-xr-x 0 root root 0 Jun 13 2015 Мои Документы
drwxr-xr-x 0 root root 0 Jun 13 2015 Полезное
drwxr-xr-x 0 root root 0 Nov 14 12:31 Прощивка ПРИМ-88КТ

Русский понимает, и это радует. Но остался вопрос: когда роутер ребутнется, то шара не примонтируется. Почитав форумы, думал прописать в fstab конструкцию монтирования шары, но вспомнил что Linux грузит файловые системы и прочее раньше сетевых интерфейсов. В итоге «rc.local» решил данную проблему.

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

mount -t cifs -o rw,guest,iocharset=utf8 //192.168.0.2/d /mnt/h0mikus_D/

exit 0

</spoiler
На этом все. Статья писалась в помощь для незнающих и как памятка для себя. Если где-то есть ошибки по тексту и прочее, тапками не кидаться, а ткнуть носом. Если стиль написания кривой и читать невозможно, подскажите как правильнее.

Котэ, Одминь, Шрёдер © БОР

Всем, кто покупал мой любимый роутер D-link DIR-300 (A1) — известно, что со стандартной прошивкой он малофункционален, и плохо работает с Нашей локальной сетью. Кроме того, если прошить его DD-WRT — он начинает жутко тормозить и без охлаждения часто виснет. Охлаждение подробно описано в другой моей статье. Сейчас же предлагаю Вашему вниманию немного доработанную

версию способа превратить его, уже наконец, в Роутер.

Внимание!!!

1. Вы теряете гарантию. Без комментариев. Автор не несет ответственности за полную, или частичную потерю работоспособности устройства!

2. Вернуться на оф. версию (в отличие от DD-WRT) с рабочим WI-FI будет мало реально (мне удалось, иначе бы статьи не было).

3. Только для ревизии A1!. Прошивка собрана под ATHEROS и этим все сказано.

4. DUAL работает. Прописывать маршруты скорее всего придется, однако ядро не грузится на 100% = скорость в норме.

Итак: если все вышеперечисленное вас не остановило — Welcome!

Нам понадобиться:

1. Putty. Лучше терминала на винду я не знаю. Советую работать на WIN XP.

2. TFTPD. Лучший TFTP. Советую запускать из корня диска С.

3. Собственно прошивка. Фанаты могут «собрать ядро с рюшечками». Web-морда к ней .

4. Загрузчики RAM и ROM, позаимствованные из проекта DD-WRT. Советую брать именно выложенные, т.к. на последнем идет не всегда.

5. Уверенность в себе и терпение. Питание не дергать категорически. Иначе мне на запчасти.

Поехали!

Примечание: Наглый копираст команд в консоль не пройдет, команды с маленькой буквы не все, при прошивке и настройке FIS роутер долго думает. Перед работой выключаем KAV\KIS и любой софт, работающий с портами!

1. Настраиваем в PuTTy в «connection» 192.168.20.81, port 9000, telnet, exit only on clean. Cтавим на компе IP 192.168.20.80/mask 255.255.255.0 Втыкаем кабель в WAN порт (INTERNET на нем написано). Зажимаем кнопку «RESET». Включаем питание роутера. Через 20 секунд отпускаем «RESET».

В это же время запускаем CMD и команду

ping 192.168.20.80

как только ответ получен (ресет отпущен, обычно 5-10 сек) клацаем OPEN PyTTy.

если появилось много текста — закрываем CMD, в терминале PuTTy должно быть так:

redboot> 

Жмем CTRL+C. Терминал.

2. Запускаем TFTPD. Должен быть IP нашей локальной сетевой.

Пишем в консоли редбута

RedBoot>[b]load ap61.ram[/b]
Using default protocol (TFTP)
Entry point: 0×800410bc, address range: 0×80041000-0×800680d8
RedBoot> [b]go [/b]

Здесь и далее жирный текст — то что вводится вручную. То есть печатается.

Потом должна быть перезагрузка роутера с временным Бутом.

Установите IP-адрес 192.168.1.2 и маску 255.255.225.0.

3. Переключите сетевой кабель из гнезда WAN в гнездо LAN1 маршрутизатора.

В PuttY адрес 192.168.1.1 и порт 9000. TFTPD перезапустить.

OPEN и видим, что загрузчик уже другой. Пусть теперь он там и останется. Пишем команды (жирным), на вопрос отвечаем ENTER

(кочерга на клавиатуре) .

DD-WRT>[b]fconfig -i[/b]
Initialize non-volatile configuration - continue (y/n)?[b]y[/b]
Run script at boot: false
Use BOOTP for network configuration: true
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)?[b]y[/b]

… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .

DD-WRT> [b]fis init[/b]
About to initialize [format] FLASH image system - continue (y/n)? [b]y[/b]

           Initialize FLASH Image System

… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×807f0000-0×80800000 at 0xbffe0000: .

DD-WRT> [b]ip_address -h 192.168.1.2[/b]
Default server: 192.168.1.23

DD-WRT> [b]load -r -b %{FREEMEMLO} ap61.rom[/b]
Using default protocol (TFTP)
Raw file loaded 0×80080000-0×800a8717, assumed entry at 0×80080000

DD-WRT>[b] fis create -l 0×30000 -e 0xbfc00000 RedBoot[/b]
An image named ‘RedBoot’ exists - continue (y/n)? [b]y[/b]
… Erase from 0xbfc00000-0xbfc30000: …
… Program from 0×80080000-0×800a8718 at 0xbfc00000: …
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×807f0000-0×80800000 at 0xbffe0000: .

DD-WRT> [b]reset[/b]

после перезагрузки РэдБут помахал нам ручкой.

4. Порты адреса те же, проги перезапускаем.

Вводим команды в консоли, уже не так страшно.

DD-WRT>[b] ip_addr -h 192.168.1.2[/b]
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2

DD-WRT> [b]fis init[/b]
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Стерли оригинальную прошивку. Назад пути (PuTTy) нет.

Дальше совсем не страшно.

DD-WRT> [b]load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma[/b]
Using default protocol (TFTP)
Raw file loaded 0x80040800-0x801007ff, assumed entry at 0x80040800

DD-WRT> [b]fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7[/b]
... Erase from 0xbfc30000-0xbfcf0000: ............
... Program from 0x80040800-0x80100800 at 0xbfc30000: ............
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Это ядро, тачка загрузится, а где же ROOTFS?

Да вот же он

DD-WRT> [b]load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs[/b]
Using default protocol (TFTP)
Raw file loaded 0x80040800-0x802c07ff, assumed entry at 0x80040800

DD-WRT> [b]fis create -l 0x2F0000 rootfs[/b]
... Erase from 0xbfcf0000-0xbffe0000: ...............................................
... Program from 0x80040800-0x802c0800 at 0xbfcf0000: ........................................
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Это самый долгий этап. Роутер может не ответить на команду FIS CREATE в течении 5 мин. Это нормально. Может ребутнуться.

Теперь настройка железки. Тут на разных железках ответы могут чуть отличаться, команды нет.

DD-WRT> [b]fconfig boot_script_timeout 3[/b]
boot_script_timeout: Setting to 3
DD-WRT> [b]fconfig bootp false[/b]
bootp: Setting to false
DD-WRT>[b] fconfig boot_script true[/b]
DD-WRT> [b]fconfig[/b]
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> [b]fis load -l vmlinux.bin.l7[/b]
>> [b]exec[/b]
>>
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: [b]192.168.1.1[/b]
Local IP address mask: [b]255.255.255.0[/b]
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

DD-WRT> reset

тут на разных железках может проскакивать в промежутке

«Update RedBoot non-volatile configuration — continue (y/n)? «

Давим Y и со всем соглашаемся.

Собственно все. При включении роутер будет «колбасить», он будет перегружаться раза три и наконец, винда,

если в ней включен PLUG&PlaY найдет «OpenWRT Router».

Пароль в WEB морде (192.168.1.1)

root

root

А вот и она сама:

0f38ea8fd37df0c61f699e08c9782d2d.jpg

Настроек в новой прошивке валом, можно подключать двух-трех провайдеров ( VLAN ).

Процессор в роутере не грузится, он даже греется меньше.

Набор находится во вложении.

Собрано на базе материалов

тут и тут, проверенно на своей шкуре, внесены важные поправки.

Неизменно Ваш Mistacker

openwrt.zip

  • Роутер d link dir 300 ver b7
  • Роутер asus программа для настройки
  • Роутер d link 2740u настройка ростелеком
  • Роутер d link dir 300 горит одна лампочка
  • Роутер d link ac1200 dir 822