Git Product home page Git Product logo

esp_slip_router's People

Contributors

martin-ger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp_slip_router's Issues

Trouble compiling in softuart.c: 'ets_isr_t' undeclared - SDK 2.1.0 problem?

This software is just what I was looking for - congrats and huge thanks already. It might solve tons of problems in my classes.

I would like to use (and probably extend) this firmware to create a reliable accesspoint for my IoT project ulnoiot (also here on github). It's nearly impossible to reliably source (multiple) wifi sticks which support accesspoint mode nowadays (internal wifi of raspberry pi is a positive exception, however, you can't buy the pi zero w in quantities sufficient for classrooms), and I have plenty of esp8266s anyway.

I have no trouble compiling esp_wifi_repeater, but compiling this, I get the following (independent on how I set DEBUG_SOFTUART or not:

$ make
CC driver/softuart.c
In file included from driver/softuart.c:1:0:
driver/softuart.c: In function 'Softuart_Init':
driver/softuart.c:158:25: error: 'ets_isr_t' undeclared (first use in this function)
   ETS_GPIO_INTR_ATTACH((ets_isr_t)Softuart_Intr_Handler, s);
                         ^
/home/ulno/ulnoiot/.local/external/firmware/esp-open-sdk/sdk/include/ets_sys.h:79:36: note: in definition of macro 'ETS_GPIO_INTR_ATTACH'
     ets_isr_attach(ETS_GPIO_INUM, (func), (void *)(arg))
                                    ^
driver/softuart.c:158:25: note: each undeclared identifier is reported only once for each function it appears in
   ETS_GPIO_INTR_ATTACH((ets_isr_t)Softuart_Intr_Handler, s);
                         ^
/home/ulno/ulnoiot/.local/external/firmware/esp-open-sdk/sdk/include/ets_sys.h:79:36: note: in definition of macro 'ETS_GPIO_INTR_ATTACH'
     ets_isr_attach(ETS_GPIO_INUM, (func), (void *)(arg))
                                    ^
driver/softuart.c:158:35: error: expected ')' before 'Softuart_Intr_Handler'
   ETS_GPIO_INTR_ATTACH((ets_isr_t)Softuart_Intr_Handler, s);
                                   ^
/home/ulno/ulnoiot/.local/external/firmware/esp-open-sdk/sdk/include/ets_sys.h:79:36: note: in definition of macro 'ETS_GPIO_INTR_ATTACH'
     ets_isr_attach(ETS_GPIO_INUM, (func), (void *)(arg))
                                    ^
Makefile:142: recipe for target 'build/driver/softuart.o' failed
make: *** [build/driver/softuart.o] Error 1

My wild guess is that something changed from the esp sdk from 2.0 to 2.1, but maybe it has a different cause. It's probably not a hard thing to fix, but would be happy for some guidance or pointers.

Cheers,
ulno

Telnet connection doesn't seem to accept commands

I can load ethersl packet driver, ping 192.168.240.1, and I can telnet 192.168.240.1 7777, but the CMD> prompt echoes nothing back, and doesn't seem to actually be accepting any of the commands from the github:

CMD>set ssid <your_ssid>
CMD>set password <your_pw>
CMD>set use_ap 0
CMD>save
CMD>reset

I've blind-typed them and reset manually but nothing seems to change.

ARP weirdness on local networks

Host machine: Linux (Ubuntu 20.04) with the primary Ethernet disabled, leaving the esp_slip_router device as the only network connection. I'm using the pre-built firmware that is current as of yesterday.

What works:

  • Pinging to my home router (192.168.2.1)
  • Pinging the outside world (8.8.8.8 or brutman.com)

What fails:

  • Pinging any other machine on my home network from the Ubuntu machine.
  • Pinging the esp_slip_router from any device on my home network on it's WiFi (external) address.

Tcpdump on the Ubuntu machine shows me the request is going to the esp_slip_router device. Tcpdump on a target machine (a Linux laptop) shows no ICMP packets arriving from the esp_slip_router device, and the esp_slip_router device is also not even responding to ARP.

NAT should be properly routing ICMP originating from the Ubuntu machine, and it's doing so for external addresses. And of course you should be able to ARP it.

Here is what I think is going wrong:

The esp_slip_router has a problem responding to ARP. It doesn't seem to be responding at all.

  • Getting an initial address works because it has to broadcast the DHCP request, allowing the home router to harvest the MAC address. Which then allows the router to talk to the esp_slip_router device, enabling access to the outside world.
  • Internal machines do not respond to ARP and can not ping the esp_slip_router device if it does not send or receive ARP.
  • I can make a specific machine respond to pings from the Ubuntu machine or be able to ping the esp_slip_router device directly if I prime that machine's ARP cache with the MAC address of the esp_slip_router. (Priming the ARP cache allows the ICMP packet to get to the esp_slip_router device, and it has the return MAC address, so that gets around the need to explicitly ARP. The esp_slip_router device is luckily caching the hardware address.)

So the short story is that I think ARP caching is working, but something is preventing the esp_slip_router device from ARPing or responding to ARP requests.

Did someone rewrite this to use RTL8720DN?

Hi!

The idea about slip router is great itself. This looks to be the only solution for my thermal camera for drone project. Important thing is that remote controller works on 5.8GHz only, so the camera down-link should be on this frequency. RTL8720DN as BW16 module is a good candidate for this task. To not discover the round shape from me one more time is much better to ask if someone did this thing to work on the BW16. If no one, I'll try to do it. But first to ask...

Regards...

time exceeded in communication

Hi, thanks for your work.
I am having trouble communicating the ESP8266 once I have introduced the precompiled firmware that it provides inside the firmware folder. Once the ESP8266 has been flashed from W7 correctly, I attach a log:

C:\Users\informatica.mam\Downloads\esptool-master\esptool-master>python esptool.
py --port COM5 write_flash -fs 8m 0x00000 firmware/0x00000.bin 0x10000 firmware/
0x10000.bin
WARNING: Flash size arguments in megabits like '8m' are deprecated.
Please use the equivalent size '1MB'.
Megabit arguments may be removed in a future release.
esptool.py v2.8-dev
Serial port COM5
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
WARNING: Detected crystal freq 27.19MHz is quite different to normalized freq 26
MHz. Unsupported crystal in use?
Crystal is 26MHz
MAC: dc:4f:22:58:58:9c
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Flash params set to 0x0020
Compressed 38448 bytes to 26979...
Wrote 38448 bytes (26979 compressed) at 0x00000000 in 2.6 seconds (effective 117
.4 kbit/s)...
Hash of data verified.
Compressed 228644 bytes to 157900...
Wrote 228644 bytes (157900 compressed) at 0x00010000 in 17.5 seconds (effective
104.7 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

I cannot communicate with the module, I use telnet and Arduino IDE and it does not connect. I flash the ESP2866 again with the original firmware to verify that it works, and this time if it connects correctly. I try to flash with its firmware using different programs such as flash tool and receive the same behavior. Both python and esptool are well configured and the bariable PATH is also configured. what am I doing wrong?
Greetings

60 to 70% packet loss?

I'm seeing huge packet loss on my ESP8266 with this firmware, even when the SLIP interface is not active. Does increasing the CPU speed help? Is my chip broken?

netif/slipif.h missing

I'm trying to build this projects with the current open_esp_sdk. I first got an error about ets_isr_t not being defined. I think I got around it by just removing that case in softuart.c

Afterwards, it complains about not being able to find netif/slipif.h . I can't find such a file in the open_esp_sdk and this project. How do I get this file?

Slip Router starts then seems to reboot

Hi I'm using the latest bin files from the firmware folder dated 16 days ago (as of today)
on a esp8266 12F module, that has been running other firmware compiled from Arduino"for ages without issue. I have also tried loading the esp_init_data_default_v08_vdd33.bin @ 0x3FC000 but made no difference. I'm using a raspberry pi2 with raspbian and configured it with the ones from your instructions relating to AP mode.

I get this on debug out put
SLIP Interface V1.0 starting

Config found and loaded

<>

if I watch the serial output @74880 I get then, over and over (delay of a few seconds between)
"@ªrjrA(¡‹SËu‹P�v›X¥(ý«Pyjuh)…"8át‡íÍNÈ~�PÊTš��1Æ¡e\º�ËY@íYM/=ání*E"HèIîA,R%¡ù¨E,R·1�)ÔvAm1Æ¡{~A,=áníU"HhInA,tZ
år‡,R·1�)ÄvAí1Æ¡ûþA.=áníe¢ÈèInA,ò%áÝîA,ò%árf cal sector: 1019
freq trace enable 0
rf[112] : 00
rf[113] : 00
rf[114] : 01

SDK ver: 2.2.0-dev(9422289) compiled @ Nov 3 2017 19:40:08
phy ver: 1136_0, pp ver: 10.2

SOFTUART initialize gpio
SOFTUART bit_time is 52
SOFTUART TX INIT DONE
SOFTUART RX INIT DONE
SOFTUART INIT DONE

<>

Just after a few pointers to try thanks in advance

MsDos attempt: it doesn't work (yet..)

First of all: what a great idea, Martin! Thanks for this project.

Now I'd like to share the problems I faced.
I've installed the precompiled binary firmware on a AZDelivery D1 Mini NodeMcu ESP8266-12F.
I connected a RS232 DB9 adapter with a 3 wire cabling (TX,RX,GND,3.3V).
I set the bitrate conservatively to 19200 (telnet gateway 7777, set bitrate 19200)
I installed Linux on an old thin client and I followed the instructions Martin provided in the README.MD
IT WORKED flawlessly, great!
Configuration of the esp_slip_router:

CMD> show
ESP SLIP Router V1.1.1 (build: Sun Feb 23 23:34:52 20202)
SLIP: IP: 192.168.240.1 PeerIP: 192.168.240.2
STA: SSID: XXXXXXXX PW: XXXXXXXXXXXXX [Autoconnect:1]
External IP: 192.168.0.175
DNS server: 192.168.0.1
Clock speed: 160
Serial bit rate: 19200
CMD>

Once I turned to DOS with packet driver the problem arised..
I tried with MsDos 5 and FreeDos 1.2, but the problem is the same: I can telnet the gateway
at port 7777 , I can ping the gateway, I can ping the router and other devices on the wifi network 192.168.x.x,
and even the "outside world", e.g. 9.9.9.9 and 8.8.8.8.
That's all. I cannot resolve any address on internet (even google.com) or ftp or telnet
(I also tried to set the DNS to 9.9.9.9 and 8.8.8.8, no way).

This is the software configuration:
DOS

mode COM2: BAUD=19200 PARITY=n DATA=8 STOP=1

Packet Driver:

EtherSLIP (ethersl.com) on COM2 (ethersl 0x60 3 0x2f8 19200)
(but also tried slipper: Slipper COM2 19200 ether nohwhs)
this is the ouput:

Packet driver for ETHERSLIP, version 11.7
Portions Copyright 1988 Phil Karn
Packet driver skeleton copyright 1988-93, Crynwr Software.
This program is freely copyable; source must be available; NO WARRANTY.
See the file COPYING.DOC for details; send FAX to +1-315-268-9201 for a copy.

16550 Uart detected, FIFO will be used
System: [345]86 processor, ISA bus, Two 8259s
Packet driver software interrupt is 0x60 (96)
Interface class 0x1 (1)
Interrupt number 0x3 (3)
I/O port 0x2F8 (760)
Baud rate 0x4B00 (19200)
Receive buffer size 0xBB8 (3000)
My Ethernet address is 00:02:12:00:56:34

TCP software

MTCP with this configuration file:

PACKETINT 0x60
MTU 1500

IPADDR 192.168.240.2
NETMASK 255.255.255.0
GATEWAY 192.168.240.1
NAMESERVER 192.168.0.1

and with this settings in the autoexec.bat:

SET MTCPSLIP=true
SET MTCPCFG=C:\MTCP.CFG

Wattcp with this configuration file (c:\WATTCP.CFG):

my_ip = 192.168.240.2
netmask = 255.255.255.0
gateway = 192.168.240.1
nameserver = 192.168.0.1

and with this settings in the autoexec.bat:

SET WATTCP.CFG=C:\

Here you can find the output of some commands that, maybe, can help..

The most interesting output are from th ping command of mtcp suite,
the ping command of the wattcp suite, the dnstest command of mtcp suite and the pakttool command of mtcp suite.

ping (wattcp)

-----tcpinfo (attcp)

Reading Waterloo TCP configuration file.

Ethernet Address : 0:2:12:0:56:34

IP Address       : 192.168.240.2
Network Mask     : 255.255.255.0

Gateways         : GATEWAY'S IP     SUBNET           SUBNET MASK
                 : 192.168.240.1    DEFAULT


Cookieserver     : NONE DEFINED

Nameserver       : 192.168.0.1
Domain           : "(null)"

BOOTP            : NOT USED
BOOTP Server     : BROADCAST
BOOTP Timeout    : 30 seconds

Default Timeout  : 30 seconds
Max Seg Size MSS : 1400 bytes

tcp_Socket : 4206 bytes 
udp_Socket : 2097 bytes 

-----pkttool (mtcp)

mTCP pkttool by M Brutman ([email protected]) (C)opyright 2012-2020
Version: Mar  7 2020

Details for driver at software interrupt: 0x60
  Name: ETHERSLIP
  Entry point: 0366:03CE
  Version: 11   Class: 1   Type: 0  Interface Number: 0
  Function flag: 2  (basic and extended functions)
  Current receive mode: packets for this MAC and broadcast packets
  MAC address: 00:02:12:00:56:34

All statistics are from when the packet driver was loaded.

Packets in:           26  Packets received
Packets out:          31  Packets sent
Bytes in:           1852  Bytes received (includes Ethernet headers)
Bytes out:          2224  Bytes sent (includes Ethernet headers)
Errors in:             0  Receive errors
Errors out:            0  Sending errors
Packets lost:          0  Lost due to no packet handler, out of buffers, etc.

I also tried different net masks

255.255.255.0
255.255.255.252
255.255.255.254
255.255.0.0

but no way.

Does anyone have a good idea? :)

NAT (napt) in AP mode

All works when "use_ap 0", the 8266 is connected to other access point, slip channel connected to Linux PC. The linux has link to internet via 8266, port mapping is also work - forwarding the tcp port from STA ip to Linux PC.

But looks like the NAPT is not working when "use_ap 1". Windows PC (192.168.4.2) connected to AP of 8266 (192.168.4.1), and starts connection to ssh of Linux PC (192.168.240.2). In linux PC tcpdump shows that source if incoming packets is Windows PC.
I expect the NAT must replace the source ip (192.168.4.2) in packets, so Linux PC must see the source of 8622 (192.168.240.1).

I would be thanful for any explanation.

Next step i will try to compile all the sources and dubug (now i just upload the binary).

PS. Mr. Martin-ger thank you for sharing this project.

Send some kind of terminator after scan complete (Minor feature request)

when we issue a scan command we get a lovely list back... sweet

But there is no way for a connected program to know when the scan is complete other than to give up after a given amount of time.

Could you send a "Scan Finished" when you're done? i know this is kinda async but you stop scanning at some point right?

Firmware won't fit on the ESP-01?

Hi!

I'm trying to flash the firmware onto an ESP-01 with 1MB flash and I have specified "-fs 8m" as per the Readme, but esptool.py says that it won't fit; is there any way to recompile it or change the address so that the firmware fits on the ESP-01? This is the output I'm getting when trying to flash:

$ esptool.py --port /dev/tty.usbserial-110 write_flash -fs 8m 0x00000 0x00000.bin 0x100000 0x10000.bin 
WARNING: Flash size arguments in megabits like '8m' are deprecated.
Please use the equivalent size '1MB'.
Megabit arguments may be removed in a future release.
esptool.py v3.0
Serial port /dev/tty.usbserial-110
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: a0:20:a6:14:bf:10
Uploading stub...
Running stub...
Stub running...
Configuring flash size...

A fatal error occurred: File 0x10000.bin (length 232996) at offset 1048576 will not fit in 1048576 bytes of flash. Use --flash-size argument, or change flashing address.

Internet access via serial host's network interfaces

I want to use esp_slip_router to isolate small footprint WiFi devices which's firmware I can't alter. The esp8266 will be attached to a Linux machine that has internet access via ethernet. Unfortunately these WiFi devices need internet access for a initialization. I want to give them controlled internet access via ethernet interface. Is it possible?
`

Can't show console command

Excuse me! Follow your steps, whether I configure the SLIP interface with :

    `IP4_ADDR(&netmask, 255, 255, 255, 0);
     IP4_ADDR(&gw, 127, 0, 0, 1);
     netif_add (&sl_netif, &config.ip_addr, &netmask, &gw, &int_no, slipif_init, ip_input);
     netif_set_up(&sl_netif);`

or with:

    `IP4_ADDR(&netmask, 255, 255, 255, 0);
     IP4_ADDR(&gw, 192, 168, 240, 2);
     netif_add (&sl_netif, &config.ip_addr, &netmask, &gw, &int_no, slipif_init, ip_input);
     netif_set_up(&sl_netif);`

it always can't show the console CMD after I run:

   `sudo slattach -p slip -s 115200 /dev/ttyUSB0 & sudo ifconfig sl0 192.168.240.2 pointopoint 
    192.168.240.1 up mtu 1500
    sudo telnet 192.168.240.1 7777`
    // telnet connection time out!!!

why?

Unable to build with custom build liblwip_open_napt.a

Hi, first of all i wanted to thank you for your software implementation it's really helpful and very useful in the vintage computers world!

But i've unable to build esp_slip_router with custom build esp-open-lwip. The lwip is built as described

Only if you don't want to use the precompiled library, checkout the sources from 
https://github.com/martin-ger/esp-open-lwip . Use it to replace the directory 
"esp-open-lwip" in the esp-open-sdk tree. "make clean" in the esp_open_lwip dir 
and once again a "make" in the upper esp_open_sdk directory. This will compile 
a liblwip_open.a that contains the NAT-features. 
Replace liblwip_open_napt.a with that binary.

I did that successfully, with standard liblwip_open_napt.a it builds ok, but if i try to build with custom build of "esp-open-lwip/liblwip_open.a" replaced as "liblwip_open_napt.a", i've got these errors:

root@9c35154a9cb0:~/esp_slip_router# make clean;make
CC driver/sio.c
CC driver/softuart.c
CC driver/uart.c
CC user/config_flash.c
CC user/ringbuf.c
CC user/user_main.c
AR build/app_app.a
LD build/app.out
build/app_app.a(user_main.o):(.text+0x8): undefined reference to `slipif_received_byte'
build/app_app.a(user_main.o): In function `write_to_pbuf':
/home/builder/esp_slip_router/user/user_main.c:827: undefined reference to `slipif_received_byte'
build/app_app.a(user_main.o): In function `console_handle_command':
/home/builder/esp_slip_router/user/user_main.c:422: undefined reference to `slipif_process_rxqueue'
/home/builder/esp_slip_router/user/user_main.c:445: undefined reference to `slipif_process_rxqueue'
/home/builder/esp_slip_router/user/user_main.c:518: undefined reference to `slipif_init'
collect2: error: ld returned 1 exit status
make: *** [build/app.out] Error 1

Thanks in advance!

Cannot handle an SSID with a space in it

The method parse_str_into_tokens() does not provide any escaping mechanism for a space character (0x20) and as a consequence we cannot connect to SSID's that have a space in them (which is a legal SSID).

DOS/MTCP doesnt recognize the esp8266-slip-router

As initial test I configured DOS/MTCP to use slip/etherslp - which did work fine with the following config:

DOS
CONFIG.BAT

SET MTCPCFG=C:\MTCP\MTCP.CFG
SET MTCPSLIP=TRUE
ETHERSL 0x60 4 0x3f8 115200

MTCP.CFG

HOSTNAME dellfx
PACKETINT 0x60
IPADDR 192.168.6.40
NETMASK 255.255.255.0
GATEWAY 192.168.6.41
NAMESERVER 8.8.8.8
MTU 1500

on the Linux/armbian-Side

stty -F /dev/ttyUSB0 -clocal -crtscts 115200
slattach -d -v -L -m -p slip -s 115200 /dev/ttyUSB0 &
ifconfig sl0 192.168.6.41 pointopoint 192.168.6.40 mtu 1500 up
arp -s 192.168.6.40 02:42:4c:aa:1b:68 pub
echo 1 >/proc/sys/net/ipv4/ip_forward

Then I flashed the ESP8266-SLIP-Router successfully with the
NodeMCU Flasher

Then I did connect to the slip-router via the follwing commands:

stty -F /dev/ttyUSB0 -clocal -crtscts 115200
slattach -d -v -L -m -p slip -s 115200 /dev/ttyUSB0 &
ifconfig sl0 192.168.240.2 pointopoint 192.168.240.1 mtu 1500 up
arp -s 192.168.240.1 02:81:5b:0c:5e:1b pub
echo 1 >/proc/sys/net/ipv4/ip_forward
telnet 192.168.240.1 7777

The show command did work, so I did reconfigure the configuration:
CMD>

set ssid Masallah_TT
set password MyPassword
set addr 192.168.6.40
set addr_peer 192.168.6.41
set use_ap 0
save
reset

On another armbian-system I did connect successfully to the slip-router via the commands:

stty -F /dev/ttyUSB0 -clocal -crtscts 115200
slattach -d -v -L -m -p slip -s 115200 /dev/ttyUSB0 &
ifconfig sl0 192.168.6.41 pointopoint 192.168.6.40 mtu 1500 up
arp -s 192.168.6.40 02:81:5b:0c:5e:1b pub
echo 1 >/proc/sys/net/ipv4/ip_forward
telnet 192.168.6.40 7777

And the "show" command does show my configuration fine:

CMD>show
ESP SLIP Router V1.1.1 (build: Sun Feb 23 23:34:52 2020)
SLIP: IP: 192.168.6.40 PeerIP: 192.168.6.41
STA: SSID: Masallah_TT PW: MyPassword [AutoConnect:1]
External IP: 192.168.6.82
DNS server: 8.8.8.8
Clock speed: 160
Serial bit rate: 115200

But when I try to use the slip-router with DOS/MTCP it doesnt seems to be recognized :(
For PING (like 192.168.6.41 or 8.8.8.8) and TELNET I do get TimeOuts only.
But the blue LED is blinking when MTCP did try to send some packets to the slip-router.

I did test the RS232-Connection successfully with TELIX (a Terminal-Programm) so my cable/pinout is OK and with another simple-serial-sketch the serial Connection doesnt have problem with 115.200Baud.

When I restart the slip-router while connected with TELIX at 115.200Baud I do get always the same chars, but they arent readable (doenst know if there should something readable from the slip-protocol) :(

[EDIT]
the unreadable chars in TELIX are the Bootloader Messages of the ESP8266 at 74880 Baud
(and TELIX cant handle this Baudrate in DOS):

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 31016, room 16
tail 8
chksum 0x07
load 0x3ffe8000, len 2068, room 0
tail 4
chksum 0x2f
load 0x3ffe8820, len 3132, room 4
tail 8
chksum 0xac
csum 0xac
rf cal sector: 1019
freq trace enable 0
rf[112] : 00
rf[113] : 00
rf[114] : 01

SDK ver: 3.0.0-dev(c0f7b44) compiled @ Jun 26 2018 16:54:37
phy ver: 1136_0, pp ver: 10.2

You could see TELIX and my ESP8266-NodeMCU-Pinout here

@martin_ger
Danke schon mal fuer reinbschauen. Evtl. hast Du eine Idee, auch wenn DOS/MTCP nicht Dein FAchgebiet ist - aber per seriellem USB-Kabel klappt DOS/MTCP.

Liebe Gruesse aus Mudany/BUrsa/Tuerkei - bis 2016 hatte ich in Frankfurt/Main gewohnt - also nicht weit weg von Wiesbaden.

Guido Lehwalder

Hardware flow control

Hello,

I have tried your firmware on my Amiga computer using the following guide :
https://blog.nootch.net/post/amiga-bbs-online-2019/
With few additions on the Amiga side :
enable a "ignore DSR" feature, disable "Carrier detect" and use the "New8N1" serial driver.
I am impressed by the result and I would like to thank you for sharing your work.

I am able to communicate up to 115200 bauds.
However my tests show that the operation above 38400 is not reliable (on my system running a 68020@33MHz).
I believe the reason might be the lack of flow control.
Would it be possible to add hardware flow control to your firmware ?

On my adapter (which I used previously with the Zimodem firmware), here are the actual connections:
CTS of the host to GPIO15 (RTS of the router)
RTS of the host to GPIO13 (CTS of the router)
and also Ring on GPIO2, DSR of the host on GPIO5 and DTR of the host on GPIO4, however these are not essential.

esp01 compatibility

Hi,

I would like to know the compatibility of esp01, which probably is the lowest cost hardware to get a serial wifi adapter. Does anyone manage to flash the firmware on the chip? Or you have any recommended esp board to use?

Thanks

STA mode - SSH connection refused

ESP8266 is connected as STA to a wifi network. It got external address: 192.168.254.102.
When I try to SSH to that address I get response : Connection refused.
When I try to telnet to that address with port 7777, connection is successful.
Any ideas?
Thanks in advance.

Unable to telnet the ESP8266-01

Not sure what's (not) going on, I'm currently unable to connect to the firmware with telnet (I do not change the wiring between the flash and the slattach):

$ esptool.py --port /dev/ttyUSB0 write_flash 0x00000 firmware/0x00000.bin 0x10000 firmware/0x10000.bin
esptool.py v3.2
Serial port /dev/ttyUSB0
Connecting...
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: e8:db:84:df:2f:7f
Stub is already running. No upload is necessary.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00008fff...
Flash will be erased from 0x00010000 to 0x00049fff...
Compressed 36848 bytes to 26072...
Wrote 36848 bytes (26072 compressed) at 0x00000000 in 3.0 seconds (effective 98.6 kbit/s)...
Hash of data verified.
Compressed 235760 bytes to 163144...
Wrote 235760 bytes (163144 compressed) at 0x00010000 in 14.6 seconds (effective 129.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
$ sudo slattach -L -p slip -s 115200 /dev/ttyUSB0&
[1] 1487
$ sudo ifconfig sl0 192.168.240.2 pointopoint 192.168.240.1 up mtu 1500
$ ip addr sh sl0
4: sl0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 10
    link/slip 
    inet 192.168.240.2 peer 192.168.240.1/32 scope global sl0
       valid_lft forever preferred_lft forever
$ ip route sh 192.168.240.1
192.168.240.1 dev sl0 proto kernel scope link src 192.168.240.2 
$ telnet 192.168.240.1 7777
Trying 192.168.240.1...
^C

I can see with wireshark that packets are going to 192.168.240.1 but I get no response. When the ESP is reset, I can see a quick flash from IO2 but no blue light afterwards. This is the same with the pre-compiled .bin files.

Any ideas ?

Creating portmaps for port ranges (or 1-to-1 NAT, etc)

Hi there!

This is a fantastic project, thank you for writing it.
It has helped get many vintage computers that don't have NICs online.

I am wondering if there is any (undocumented?) way to add a portmap for a range of ports, or even all ports (complete 1-to-1 NAT style) rather than one at a time?

This is useful in situations such as running an FTP server on a machine, where the passive port range is typically at least 256 ports in size.
I have tried inputting a large number of portmaps, one after another, using Expect. The esp_slip_router config seems to hit a maximum limit and stop accepting new portmaps.
Various other commands have also been tried, somewhat blindly:

portmap add TCP 0 192.168.240.2 0
portmap add TCP all 192.168.240.2 all
portmap add TCP any 192.168.240.2 any

These are all accepted, but do not function. :)

Thank you again for your hard work.

Kind regards,
Dominic

SSH to esp when there are multiple connections

Hi Martin,

I will try to describe my problem once more, because I tried everything I could and couldn't get the solution.

I used a classic raspberryPi3 and connected it to the same network with ethernet and WIFI. With that setup I could successfully SSH simultaneously to ethernet IP and WIFI IP address.

When I try to do the same with ethernet and slip ESP I get an error. SSH will only work on ethernet IP until I disconnect ethernet cable from the raspberry. It seems to me that the problem is because SLIP IP 192.168.240.2 doesn't belong to the network id where ethernet is connected. Because when I do

sudo ip route add 192.168.254.0/24 via 192.168.240.1

The SSH starts to work for the slip IP, but breaks for the ethernet IP. If I set the metric of sl0 higher than the metric of eth0, eth0 will start to work again, and vice versa.

Thank you for your time.

ESP32 slip router

Hi Martin,

I have one more question if it isn't a problem. Is it possible to flash your code to EPS32?

Two ESP8266 work with SLIP together as STA+AP

Hi! Thank you for your work! It runs well on my ESP8266. I am wondering that, is there any possible to drive two ESP8266 work with SLIP together as STA+AP, just like github.com/martin-ger/esp_slip_router/issues/10.
Because I am working on a porject about underwater communication, trying to link AP and STA with serial or something so people can use Wi-Fi provided by ESP8266 AP underwater without the distance limit.
I was trying to link two ESP with SLIP, but I found that each ot them doing well but the STA didn't respond the data from AP.
TIM图片20200229134011
So, could you give me some idea about how to fix this? THANKS!

Unable to start slip router

Hi, Martin!

I run esp_slip_router on esp8266 (esp12 module) but I face no reaction. Here is output from debug on software serial:

SLIP Interface V0.9 starting                                              
                                                                          
Config found and loaded                                                   
E:M 0                                                                     
Starting Console TCP Server on 7777 port                                  
mode : sta(5c:cf:7f:17:b3:74)                                             
add if0                                                                   
f r0, scandone                                                            
state: 0 -> 2 (b0)                                                        
state: 2 -> 3 (0)                                                         
state: 3 -> 5 (10)                                                        
add 0                                                                     
aid 2                                                                           
cnt                                                                             
                                                                                
connected with Business, channel 6                                              
dhcp client start...                                                            
connect to ssid Business, channel 6                                             
ip:192.168.9.15,mask:255.255.255.0,gw:192.168.9.1                               
ip:192.168.9.15,mask:255.255.255.0,gw:192.168.9.1,dns:8.8.8.8                   
pm open,type:2 0 

Commands does not give any response or error (sl0 interface is created):

sudo slattach -p slip -s 115200 /dev/ttyUSB0&
sudo ifconfig sl0 192.168.240.2 pointopoint 192.168.240.1 up mtu 1500
telnet 192.168.240.1 7777

Also I can only make with SDK 1.5.4 version. Could you point how I can debug this isure

from DOS to OTHER pc works - from OTHER to DOS not ping

Hi! i have problem .. from dos machine working ok .. ftp client to server connection ok, web browser ok
but from another machine in the network I have no chance in the connection .. I tried a real address ESP in my case (192.168.1.168) then also 192.168.240.2 ping, ftpsrv, not working at all .. what am I wrong?

AP + Station mode

Is there any chance to have both modes simultaneously? if not, why?
thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.