Свежие обсуждения
Микроконтроллеры

Едимаксы и иже с ними, встроенный линукс на ARM

1 2 6

Раз телнет работает, можно двигаться дальше. Во идея: создать файл с текстовой последовательностью, и скопировать его на /dev/ttyS0 (надеюсь, порт так называется?). Только надо сначала узнать, 12- или 3-вольтовый этот порт. Если 3-вольтовый, то нужен max232, иначе он сдохнет. Хотя нет, Вы же этот порт не с компом, а с 5-вольтовым МК соединяете.

 

Порт 3 вольтовый разумеется. Согласование уровней это как раз не проблема.

А вот как передать файл на устройство - это вопрос.

 

Попробуйте создать на встроенном "диске" коробочки текстовый файл, зайти в папку, где лежит этот файл, и с телнета сказать: cp ./имяфайла.txt /dev/ttyS0

 

Как это сделать ?
Фтп-сервера там нет.

 

Очевидно, создать файл можно встроенным в коробочку текстовым редактором, но есть ли он там вообще? Vim и emacs могут не поместиться, возможно, есть один из этих: ted, ee, nvi. Какие там ещё миниатюрные текстовые редакторы для никсов бывают?
ЗЫ djelektronik, включитесь пожалуйста в дискуссию, поскольку у Вас есть опыт работы с этими девайсами.

 

могу только про edimax и которые на adm чипе
там 2 юарта
один висит на консоли
второй вроде уже тоже работает

вебсервер еще не крутил
по умолчанию на ttys0 висит консоль и отправлять туда данные не имеет смысла
вот на второй юарт можно
типа cat ">> cmd 10" > /dev/ttyS1

по поводу усб
для его нормальной работы с вашими клавиатурами и прочим - надо иметь поддержку hid
а пзу там на 2 мега и занимает 1.9 при минимуме возможностей
посему в основную прошивку надо подключать только поддержку усб и флеш накопителей
все остальное запихать на усб стик

на второй усб порт можно повесить винт с мр3

редактор внутри есть vi
после редактирования надо дать save flash или flash save для записи в пзу

в стандартном едимаксе доступ не тельнет, а ссх и пароль никто не знает
надо новую прошивку ставить и обнвить бутлоадер

для управления через браузер - надо писать sh скрипт и указывать его в конфиге
я видел большой такой скрипт, через который можно было вести свой блог
и писать в тельнете
короче он генерил статические хтмл

принцип цги - при получении данных - раскодировать их, используя & и = как разделители
пример ?device=light1&cmd=on

сам скрипт должен посылать content-type: txt/html;\n\n
потом уже хтмл код

обязательно 2 переноса строки для отделения хедера от контента для браузера
иначе он не поймет

вроде все

 

Понял. Если в dsl-500t, в отличие от едимакса, консоль уже есть на телнете, то на rs-232 её там, очевидно, нет (но надо проверить, вдруг всё равно есть).

 

Собрал я на ADM3202 преобразователь, и вот лог загрузки с него:

ADAM2 Revision 0.22.02_b03_Mar 10 2005
(C) Copyright 1996-2003 Texas Instruments Inc. All Rights Reserved.
(C) Copyright 2003 Telogy Networks, Inc.
Usage: setmfreq [-d] [-s sys_freq, in MHz] [cpu_freq, in MHz]
Memory optimization Complete!

Adam2_AR7RD >
Press any key to abort OS load, or wait 7 seconds for OS to boot...
Launching kernel decompressor.
Starting LZMA Uncompression Algorithm.
Copyright (C) 2003 Texas Instruments Incorporated; Copyright (C) 1999-2003 Igor
Pavlov.
Compressed file is LZMA format.
Kernel decompressor was successful ... launching kernel.

LINUX started...
Config serial console: ttyS0,38400
CPU revision is: 00018448
Primary instruction cache 16kb, linesize 16 bytes (4 ways)
Primary data cache 16kb, linesize 16 bytes (4 ways)
Number of TLB entries 16.
Linux version 2.4.17_mvl21-malta-mips_fp_le (root@Leachy) (gcc version 2.95.3 20
010315 (release/MontaVista)) #91 Mon May 22 01:16:28 CST 2006
Determined physical RAM map:
memory: 14000000 @ 00000000 (reserved)
memory: 00020000 @ 14000000 (ROM
memory: 00fe0000 @ 14020000 (usable)
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line:
calculating r4koff... 000b71b0(750000)
CPU frequency 150.00 MHz
Calibrating delay loop... 149.91 BogoMIPS
Freeing Adam2 reserved memory [0x14001000,0x0001f000]
Memory: 14256k/16384k available (1587k kernel code, 2128k reserved, 119k data, 6
0k init)
Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode-cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
Checking for 'wait' instruction... unavailable.
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
TI Optimizations: Allocating TI-Cached Memory Pool.
Using 120 Buffers for TI-Cached Memory Pool.
DEBUG: Using Hybrid Mode.
NSP Optimizations: Succesfully allocated TI-Ca
Initializing RT netlink socket
Starting kswapd
Disabling the Out Of Memory Killer
devfs: v1.7 (20011216) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
Adam2 environment variables API installed.
pty: 32 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with no serial options enabled
ttyS00 at 0xa8610e00 (irq = 15) is a 16550A
ttyS01 at 0xa8610f00 (irq = 16) is a 16550A
block: 64 slots per queue, batch=16
DEBUG: Initializing the voice port management module.
DEBUG: Initialization of the voice port management module successful..
Using the MAC with internal PHY
Cpmac driver is allocating buffer memory at init time.
Cpmac driver Disable TX complete interrupt setting threshold to 64.
Init 175C port[29, 31]: 0xFFFF
Default Asymmetric MTU for eth0 1500
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
MPPE/MPPC encryption/compression module registered
Initializing Cryptographic API
avalanche flash device: 0x400000 at 0x10000000.
Amd/Fujitsu Extended Query Table v3.3 at 0x0040
number of CFI chips: 1
Looking for mtd device :mtd0:
Found a mtd0 image (0x91000), with size (0x35f000).
Creating 1 MTD partitions on "Physically mapped flash:0":
0x00091000-0x003f0000 : "mtd0"
mtd: partition "mtd0" doesn't start on an erase block boundary -- force read-onl
y
Looking for mtd device :mtd1:
Found a mtd1 image (0x10090), with size (0x80f70).
Creating 1 MTD partitions on "Physically mapped flash:0":
0x00010090-0x00091000 : "mtd1"
mtd: partition "mtd1" doesn't start on an erase block boundary -- force read-onl
y
Looking for mtd device :mtd2:
Found a mtd2 image (0x0), with size (0x10000).
Creating 1 MTD partitions on "Physically mapped flash:0":
0x00000000-0x00010000 : "mtd2"
Looking for mtd device :mtd3:
Found a mtd3 image (0x3f0000), with size (0x10000).
Creating 1 MTD partitions on "Physically mapped flash:0":
0x003f0000-0x00400000 : "mtd3"
Looking for mtd device :mtd4:
Found a mtd4 image (0x10000), with size (0x3e0000).
Creating 1 MTD partitions on "Physically mapped flash:0":
0x00010000-0x003f0000 : "mtd4"
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 1024)
Linux IP multicast router 0.06 plus PIM-SM
ip_conntrack version 2.0 (128 buckets, 4096 max) - 364 bytes per conntrack
Init the gre conntrack!
Init the gre nat!
ip_conntrack_pptp version 1.9 loaded
ip_nat_pptp version 1.5 loaded
ip_tables: (c)2000 Net
netfilter PSD loaded - (c) astaro AG
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NET4: Ethernet Bridge 008 for NET4.0
Initializing the WAN Bridge.
Please set the MAC Address for the WAN Bridge.
Set the Environment variable 'wan_br_mac'.
MAC Address should be in the following format: xx.xx.xx.xx.xx.xx
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 60k freed
serial console detected. Disabling virtual terminals.
console=/dev/tts/0
init started: BusyBox v0.61.pre (2006.05.21-17:30+0000) multi-call binary
Starting pid 9, console /dev/tts/0: '/etc/init.d/rcS'
Algorithmics/MIPS FPU Emulator v1.5
Reading Standard Configuration File /etc/led.conf

Configured 18 states
Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/drivers/atm/tiatm.o
registered device TI Avalanche SAR
Texas Instruments ATM driver: version:[4.03.03.00]
Waiting for enter to start '/bin/sh' (pid 31, terminal /dev/tts/0)

Please press Enter to activate this console.
*** diap wait system init 35 sec start
exec> /usr/bin/cm_logic -m /dev/ticfg -c /etc/config.xml
logic: /proc/led_mod/ar7reset: [0]

DEMO demo_register
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
Logger: Setting remote_loglevel=notice (5)
Setting loglevel=notice (5)
###############

password=admin

===>bridge set ZIPB_MODE deactive in init

===>bridge set ZIPB_MODE deactive in init

### open dev file result:14

DEMO demo_init

httpd_str:/usr/sbin/thttpd -g -d /usr/www -u root
time_init: syncmode:1, daylight:2, timezone:46
time_init: ntpserver is time.nist.gov
PVC dB
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
PVC dB
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -
vpi = -1 vci = -1 in_use = 0
PVC dB
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
PVC dB
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
PVC dB
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
PVC dB
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
PVC dB
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci =
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
PVC dB
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0
vpi = -1 vci = -1 in_use = 0

Save /proc/ticfg/env to /var/tmp/env.txt for PPPOE_RECONNECT_ISSUE

Eth MAC:00:17:9A:07:0A:D8

init_qos_table at qos module
DEMO demo_start
Doing BRCTL ...
addbr br0
Doing BRCTL ...
addbr br1
Jan 1 12:00:11 cfgmgr(sntp): Jan 1 12:00:11> NTP Polling Timer for DHCP Starte
d succesfully.
Jan 1 12:00:11 cfgmgr(sar): Jan 1 12:00:11> DSL Polling Timer Started succesfu
lly.
Jan 1 12:00:11 cfgmgr(sar): Jan 1 12:00:11> doing modulation_set.
rfc2684 : ASSIGN_NAS_HWADDR Find dhcpc or pppoe

Jan 1 12:00:12 cfgmgr(fdb): Jan 1 12:00:12> Firewall NAT service started
Default Asymmetric MTU for nas0 1500
DEBUG: Registering protocol inspector: 0x94165b74 for VCC:0x9400da00
assign_vcc start find dhcpc

/sbin/ifconfig nas0 hw ether 00:aa:bb:cc:dd:10
exec> /usr/bin/cm_klogd /dev/klog
exec> /sbin/dproxy -c /etc/resolv.conf -d
Jan 1 12:00:13 thttpd[52]: Jan 1 12:00:13> starting on port 80
exec> /usr/sbin/brctl addbr br0
Default Asymmetric MTU for br0 1500
exec> /usr/sbin/demod
exec> /usr/sbin/brctl addbr br1
exec> /usr/sbin/ddnsd
===>bridge ZIPB disable

ZIPB............
FLAG: 2
notify kernel event successful!

Default Asymmetric MTU for br1 1500
DDNSD msgget success 0
DDNSD wait order queue
exec> /sbin/ifconfig eth0 up
Jan 1 12:00:13 cfgmgr(lanbridge0): Jan 1 12:00:13> Bridge Created: br0
exec> /sbin/ifconfig br0 up
exec> /sbin/ifconfig br1 up
exec> /sbin/ifconfig br0 up
===>bridge ZIPB disable

ZIPB............
FLAG: 2
notify kernel event successful!

exec> /usr/sbin/brctl setfilter br0 1
Doing BRCTL ...
setfilter br0 1
Doing BRCTL ...
addif br0 eth0
Jan 1 12:00:14 cfgmgr(lanbridge0): Jan 1 12:00:14> No Module Descri
Interface Below
Doing BRCTL ...
addif br0 nas0
Doing BRCTL ...
addif br0 nas0
Jan 1 12:00:14 cfgmgr(lanbridge1): Jan 1 12:00:14> Bridge Created: br1
exec> /usr/sbin/brctl addif br0 eth0
exec> /sbin/ifconfig br1 up
device eth0 entered promiscuous mode
br0: port 1(eth0) entering learning state
exec> /usr/sbin/brctl addif br0 nas0
Doing BRCTL ...
setfilter br1 1
exec> /sbin/ifconfig eth0 0.0.0.0 up
device nas0 entered promiscuous mode
br0: port 2(nas0) entering learning state
exec> /usr/sbin/brctl addif br0 nas0
=========open==========

gwanip = 0.0.0.0

=========close==========

Doing BRCTL ...
stp br0 off
Doing BRCTL ...
stp br1 off
Jan 1 12:00:14 cfgmgr(lanbridge0): Jan 1 12:00:14> Bridge Interface Added: eth

exec> /sbin/ifconfig br0 192.168.1.1 netmask 255.255.255.0
exec> /usr/sbin/brctl setfilter br1 1
exec> /usr/sbin/brctl stp br0 off
exec> /usr/sbin/brctl stp br1 off
exec> /sbin/ifconfig br1 0.0.0.0
exec> /sbin/ifconfig eth0 0.0.0.0 up
Doing BRCTL ...
setfilter br0 1
Jan 1 12:00:15 cfgmgr(lanbridge0): Jan 1 12:00:15> Bridge Interface Added: nas

exec> /usr/sbin/brctl setfilter br0 1
Jan 1 12:00:15 cfgmgr(lanbridge0): Jan 1 12:00:15> Add Bridge Iface Error: 1
Jan 1 12:00:15 cfgmgr(lanbridge0): Jan 1 12:00:15> Duplicate Bridge Iface: nas

exec> /sbin/ifconfig nas0 0.0.0.0 up
exec> /sbin/route add -net 239.0.0.0 netmask 255.0.0.0 metric 1 dev br0
br0: port 1(eth0) entering forwarding state
br0: topology change detected, propagating
br0: port 2(nas0) entering forwarding state
br0: topology change detected, propagating
Jan 1 12:00:21 cfgmgr(sar): Jan 1 12:00:21> DSL Carrier is down

*** diap wait system init 35 sec end

 

Да, похоже, он выводит туда то, что параллельно пишет в /var/messages.
Можно ли как-то использовать эту фичу, и заставлять его туда выводить ещё и то, что нужно? Надо подумать. Какой процесс занимается выводом в /var/messages, и как "попросить" его выводить туда то, что ему "скажешь"?

 

Num Lock
так ты что купил
едимакс или длинк?