Didnt get to try anything today
still catching up with friends after being away for so long.
thats interesting that mips can do eithrr endian. i havenever looked at the mips processors.
heater, i tried wget friday, but it failed to my website with no http or ftp connection available.
however, i found out how to determine my ip address. i have setup a no-ip.net ddns link but currently i cannot get past the router. need to do a bit more reading.
Well first success I was able to load OpenWRT without a hitch.
I’m doing two new things here:
1. Trying to learn Linux, Kubuntu
2. Loading OpenWRT on a WR703N
My WR703N arrived with a Chinese firmware load, I assume most do. I think the original firmware loaded was 3.15.2 build 130321 Rel 37153N. The sticker on the outside of the router indicated v1.6
Then I confirmed that I could telnet into it, from a terminal window (I call it a command prompt, sorry DOS/Windows guy here) I was able to issue telnet 192.168.1.1 and get the QpenWrt Shell screen.
From here I’m going to poke around a bit before going further and maybe do the serial interface mod. Might order another WR703N, these things are tiny!
I just did that WIFI enable and setup thing in Luci again and it went without a hitch. I really am now suspecting the problem was that I filled up the file system.
I was about to get a PIC32, just because I had never used a MIPS machine before. Little did I know I already had two MIPS machines.
big or little endian has an impact on performance when networking. All to do with the ordering of bytes as they come down the pipe. So called "network byte order". I forget which way round it is or whether big or little endian is better for the CPU there.
That's odd about wget. If you can surf the net through that router then wget from the router should work.
Mike,
Wow, you have taken on a lot there. Looks like it's going well for you though.
Heater. – Thanks! Not a total noob to Linux but, but dangerous enough to do lots of damage! One reason I’m using a laptop that I can blow away and re load if I need to.
I was able to use the web interface; I believe its referred to as LuCI, to configure the WR703N as a client on my Wi-Fi network. My main router connected to the internet is a WRT54G running DD-WRT, it’s been bullet proof for years.
Ya’ll have sparked my interest in trying to load the propeller with one of these routers. Once that’s accomplished using a PropPlug I hope it can be accomplished without the need for the PropPlug and you can load the Propeller that’s directly attached to the router.
In theory, the WR703N could replace a PropPlug as a wireless Propeller programming interface. So the $20USD could be very well spent. We just have to get the GPIO to Reset working.
+++++++++++++++++
Cluso and Mike Cook
Here is an interesting link for the wifi hardware involved. It seems that the configuration of Antheros and the MAC80211 requires some special handling. The link does NOT apply to Heaters DIR-615 with Ralink.
I'm itching to see if the propeller-loader I posted in #293 runs for anyone out there.
That loader already has some code in it to use a GPIO pin as a Prop reset so we should be able to use a UART on a router soon. It's needs some further massaging.
@Heater
I just have to do a lsmod check for an FTDI driver and then load your binary to see if the USB port to USB2SER (or PropPlug) to Propeller is good.
But I am moving slow today. (I need time to read all the OpenWRT material that I don't quite understand.)
Heater. - after a fair amount of fumbling around I got the following:
root@OpenWrt:/tmp# ./propeller-load
usage: propeller-load
[ -b <type> ] select target board (default is 'default:default')
[ -p <port> ] serial port (default is to auto-detect the port)
[ -P ] list serial ports with Propeller chips
[ -Q ] list available serial ports
[ -I <path> ] add a directory to the include path
[ -D var=value ] define a board configuration variable
[ -e ] write the program into EEPROM
[ -r ] run the program after loading
[ -g ] set up the program for debugging after loading
[ -s ] write a spin .binary file for use with the Propeller Tool
[ -x ] write a .pex binary file for use with the SD loader or SD cache
[ -l ] write a program to the sd card and use the SD loader
[ -z ] write a program to the sd card and use the SD cache
[ -f ] write a file to the SD card
[ -t ] enter terminal mode after running the program
[ -t<baud> ] enter terminal mode with a different baud rate
[ -q ] quit on the exit sequence (0xff, 0x00, status)
[ -v ] verbose output
[ -S ] slow down the loader by adding 5 microseconds delay
[ -S<n> ] slow down the loader by adding <n> microseconds delay
[ -? ] display a usage message and exit
<name> elf or spin binary file to load
Target board type can be either a single identifier like 'propboe' in which case the subtype defaults to 'default' or it can be of the form <type>:<subtype> like 'c3:ram'.
Variables that can be set with -D are:
clkfreq clkmode baudrate reset rxpin txpin tvpin
cache-driver cache-size cache-param1 cache-param2
sd-driver sdspi-do sdspi-clk sdspi-di sdspi-cs
sdspi-clr sdspi-inc sdspi-start sdspi-width spdspi-addr
sdspi-config1 sdspi-config2 eeprom-first
Value expressions for -D can include:
rcfast rcslow xinput xtal1 xtal2 xtal3 pll1x pll2x pll4x pll8x pll16x k m mhz true false
an integer or two operands with a binary operator + - * / % & | or unary + or -
all operators have the same precedence
The -b option defaults to the value of the environment variable PROPELLER_LOAD_BOARD.
The -p option defaults to the value of the environment variable PROPELLER_LOAD_PORT if it is set. If not the port will be auto-detected.
The 'sd loader' loads AUTORUN.PEX from an SD card into external memory.
It requires a board with either external RAM or ROM.
The 'sd cache' arranges to run AUTORUN.PEX directly from the SD card.
It can be used on any board with an SD card slot.
root@OpenWrt:/tmp#
I have a Propeller activity board connected via the USB on the router to the USB port on the Activity board, don't know if this is correct or not, but not getting anything from -Q or -P
root@OpenWrt:~# cd /
root@OpenWrt:/# ls
bin mnt rom tmp
dev overlay root usr
etc proc sbin var
lib propeller-load sys www
root@OpenWrt:/# ./propeller-load -P
root@OpenWrt:/# ./propeller-load -Q
root@OpenWrt:/#
Ahhhggg...never mind all that dorky reading business and who cares if the USB/serial works?...I just want to know if the binary runs at all!
Okay, I am back home with my MR3020 active.
I had to load kmod-usb-serial-ftdi from th opkg packages. And I can actually see a serial port /dev/ttyUSB0.
I am going to try a quick hook up in Minicom to my Propeller Protoboard via Forth. If that works... then I can get to your binary (I have never used command line binary loads for the Propeller, so I want to try this first
[drum roll............]
WE HAVE Forth! 115200 8N1 via the USB port in the MR3020 on /dev/ttyUSB0. I have still not gotten /dev/ttyATH0 to work right.
++++++++++++
@Heater
I will get to your binary immediately. I suspect it will work fine.
Can you remove Activity board, then plug it in again, then issue a "dmesg" command, seeing the output might give us some clues.
Sounds like you might to install that kmod-usb-serial-ftdi package to get the USB/serial driver. Loopy, how did you do that?
Also can you post the out put of "ls -l /dev"?
I have a feeling that the loader only looks for certain kinds of names of serial ports "/dev/ttyS0", "/dev/ttyUSB0" so it might not see anything with odd names.
Having no luck with SCP.
The kmod-serial-usb package ate another 36Kb of storage. I am down to 632Kb available.
I will keep trying. I do have scp active on my computer, but when I type scp propeller-load root@a.b.c.d , it merely hangs for awhile and then I get a prompt. I have Dropbear SSH active, so I should get a login challenge, shouldn't I?
If the propeller-load won't recognize /dev/ttyATH0, I suspect that only /dev/ttyUSB0 will work until the code gets modified.
I have been running successful hardwire loopbacks on /dev/ttyATH0. And I have had to modify /etc/inittab to disable the Serial Console from thinking it should participate in the same serial port.
I am NOT sure that I did my Serial Console disable properly. OpenWRT has a proceedure.. follow that and NOT other blog discussions. If appears I missed Item 1 and did only Item 2.
Hi,
Apparently I was not including a directory path after the IP#.
I got SCP to work fine and the only difference is I downloaded to /usr instead of /
I ran it and it does come up. So now I just have to figure out how and where to get a Propeller binary, and how to properly reach /dev/ttyUSB0.
(I have never used Propeller-load before, so it will take a bit of time to sort this all out).
Should I expect propeller-load to auto-detect /dev/ttyUSB0? Interesting thought........
++++++++++++++
Memory resource report.
Prior to downloading this, had 632KB, now have 592KB.
So the Propeller load seems to require 40KB space
@Mike Cook
I do see that yours and my own scp of propeller-load reported 131KB total transfer
Actually I see this " 100% 131KB 130.8KB/s ". but it seems to have been compacted to 40Kb on the MR3020. Not sure what is going on here.
It any even the follow ducks are in a row.
1. The FTDI USB2SER is working on my MR3020 after loading the right driver
2. Propeller-loader is on the MR3020 and responds to the command line
3. Have enough space to acquire a 32K Propeller binary to attempt to install (I guess I have to do yet another SCP, but Heater has been very interested in WGET as an alternative).
I have loaded a Tachyon V2.1 binary from the MR3020 via the USB port and Heater's propeller-loader executable through a USB2SER into a Propeller Protoboard. Baud rate is 57600 8N1.
And then I brought up the same board in Minicom on the MR3020 to confirm a good install.
@Heater
It seems that we only have the /dev/ttyATH0 RS232 solution left to resolve.
If that doesn't work out, any router with a USB port that is OpenWrt supported might program a Propeller wirelessly or over LAN.
So far, I can't use /dev/ttyATH0 for anything with the Propeller.
root@OpenWrt:/# ./propeller-load -P
Propeller Version 1 on /dev/ttyUSB0
You have just achieved the first Propeller to OpenWRT router connection in the history of mankind!
Streaking ahead of all a dawdlers here.
Loopy,
You need the colon on the end of that scp command:
$ scp propeller-load root@a.b.c.d:
That will put propeller-load in root's home directory on the target. Without the colon it just copies the file to your local machine with a weird name. Add a path after the colon if you want the file in some other directory.
propeller-load will detect USB serial ports, for some odd reason it does not look for real serial ports!
Things have stalled here today. It's so damn hot I can't move. 30C in the shade may not be much to many but we are not used to it around here. This apartment has windows and a balcony with a clear view to the south so we are cooking here!
I need to go read up on OpenWRT. Took me a while to figure out how to hit the WR703N from the rest of the network. My original configuration, while I was setting it up was: Laptop connected to Wr703N's RJ-45 then the WR703N configured as a client on my WRT54g router. I could not ssh to the WR703N from other network clients. Fiddled around on the firewall settings and was able to make it work but I'm afraid I might have opened up too much stuff. But now I can ssh from any client on my wifi network. Right now I'm hitting it from my iPad.
I thought I read that the AT9331 had bugs with the USB port and could not run FS which is what the FT232RL (used on the propplug) uses. Seems you have made it work.
Hoping to get some time today.
heater, the wget failed because of my website end which is hosted by ixwebhosting,com From what I can tell, I don't have FTP enabled. Not sure what/why http doesn't work tho'.
no-ip ddns isn't working either. I need to go directly to my main router/hotspot first and get that working first. Then I can see what I need to do with my 703 - probably the firewall blocking the ports. My son has this working with his ADSL landline so I can compare to what he has. In the end, it could be my ISP (mobile cell provider) blocking this type of access.
Yep, fabulous progress these guys have been making.
no-ip will assign a host name to the external, public, network address of the router that connects to the internet. Is that router actually the one you have at home or is it somewhere in your cell network?
In order to get HTTP requests from the internet to your OpenWRT router you will need to set up port forwarding in the internet facing router. We talked about this the other day. If that is in the cell network you are out of luck.
It is possible your mobile provider will be blocking incoming connections. I have never tried it over a cell network. But as I said above it possible your cell modem is already on a non-publicly addressed LAN.
Also, for some reason that I never figured out, the last time I had this sort of port forwarding working I could access my home machines from out side, but trying to use the host name or public address from within the home LAN did not work.
The other day when I setup no-ip and found my IP address, I was able toget to my router address so maybe I am in luck.
Looks like I wont get to do anything today as my wife needs my laptop
Hello to all,
Thanks to Heater compiling propeller-load for the Antheros devices, it seems with have reached both milestones in a modified manner (using the USB for an RS232 connection, rather than /dev/ttyATH0).
This may or may not satisfy many of us. I will continue to try on /dev/ttyATH0.
I certainly have a lot of learning to do about routers as there are so many modes, configuration options, and security alternatives that one's head begins to spin. But that is part of what attracted me to these tiny routers -- a chance to explore the topic without messing up my link to the outside world.
This has also been a great way to improve a lot of Linux Systems Administration skills. It is an area that we tend to ignore until we really need something that can't be done any other way. But there is a ton of handy features available.
++++++++++++
Next?
I guess I have to trace where Tx and Rx go on my MR3020. I still strongly suspect a ttl level incompatablity that might be cleared up with just buffering the input and out. There may be a voltage divider and capacitor on the Tx that create problems. I suspect that these could be by-passed.
My RS232 configuration
I have been using a 10K pull-up to 3.3v on the Tx as recommended. And this worked well with the USB2SER when I needed to reach the Serial Console.
It seems obvious that I should disconnect pull-up and see what happens. If that doesn't work, maybe add another 10k pull-up on the Rx side is required as well. I really do need an oscilloscope at this point to make a good prognosis, but I don't have one.
And I am not sure that the WR703N has the same serial port oddities. The two boards are different.
++++++++++
Another possibility is that the WR703N and MR3020 are half-duplex RS232 and simply do not want to respond to the outside world in a variety of ways. So I guess I will try to find out more about what is included in the Antheros chip.
**************
Dreams of installing a Propeller IDE.......
I do wonder if the httpd provided in OpenWrt for LuCi could also work with a compile or modified compile of SimpleIDE or Brad's Spin Tool. I have been told 'no', that would require the XWindows video system... but it still seems to me to be a remote possibility.
Was hacking away in the cool of the small hours of the morning. Which meant I was horribly tired and nothing worked!
I tried getting port forwarding for HTTP on my internet facing WRT router working. It did not lock me out this time but when trying to make HTTP requests from a server out on the net I only get "connection refused". There must be a firewall rule I need to allow this but I have not found it yet. The port forwarding on the original d-link firmware was very easy.
Loopy,
I very much doubt your /dev/ttyATH0 is half duplex. I have never seen such on many similar SoC and Linux based devices.
No you are not going to get SimpleIDE or BST working on these devices. If you could find/create all the libs for Qt the result would not fit in your fs. It would be horrible slow. You would need to export the X session over the net to make it work, making it even slower. It just not going to happen, impossible!
However...SimpleIDE uses the command line openspin compiler to do it's Spin compilations. That can be built to run on the routers. With that you can develop Spin code and program Props all on the router!
Which brings us to: A WEB based Spin compiler, openespin.js...
I made a simple demo of a Spin IDE that can compile Spin in the browser. I used Emsripten to compile the openspin compiler, used by SimpleIDE, into JavaScipt and wrapped it up in a WEB page with a syntax highlighting editor.
msrobots has extended that to an IDE that can handle multiple source files, and send the sources back to a server for compilation and loading to a Propeller!
If the routers could serve up the openspin.js web pages and handle the AJAX calls they could do the whole job.
Meanwhile....I was busy trying to weld a DIP Propeller and associated components to a proto-board to use as by router connected Propeller. Of course as I was so tired, the 3.3v regulator did not work. And then smoke came out. And then it worked even less well!
The Prop should be OK as it was not connected to anything yet....
Okay, I do understand that Http is not equal to a gull GUI.
It is interesting that a Propeller binary might compile on one of these wifi routers. I guess an editor application on a touchpad would have to provide services fro writng and editting code. That isn't a bad compromise.
+++++++++
What's next?
1. I am beginning to explore the /dev/ttyATH0 port with hopes of still getting it to be useful on the MR3020. It seems be wired oddly.
The WR703N and DIR-615 may be wired completely differently and easier to deploy. I can't see the benefits of setting up a GPIO to Reset on the MR3020 without the Tx and Rx working well. I may get lucky and discover a good fix, or this miight have to wait for someone with a scope to investigate fully.
2. I installed Tachyon because I wanted to learn it more deeply. So I am studying Tachyon V2.1 for more wifi uses. I had explored PropForth and ptth in depth, but never got to Tachyon. The ability to use wifi to login is a big win.
3. Need to learn more about routers and wifi routing features. There are some exotic wifi networks that can be done. Ham Radio Meets often set up a Wifi Mesh network on a temporary basis. Since that takes several wifi nodes participating, I've not looked into it before.
+++++++
Thanks again for the AR7xxx binary for propeller-load. I suppose I should get the tool chain established and learn to do this myself. But it is always motivating to know that it can be done and one is trying to do something that might be impossible.
Comments
still catching up with friends after being away for so long.
thats interesting that mips can do eithrr endian. i havenever looked at the mips processors.
heater, i tried wget friday, but it failed to my website with no http or ftp connection available.
however, i found out how to determine my ip address. i have setup a no-ip.net ddns link but currently i cannot get past the router. need to do a bit more reading.
I’m doing two new things here:
1. Trying to learn Linux, Kubuntu
2. Loading OpenWRT on a WR703N
My WR703N arrived with a Chinese firmware load, I assume most do. I think the original firmware loaded was 3.15.2 build 130321 Rel 37153N. The sticker on the outside of the router indicated v1.6
I started with this web page http://wiki.openwrt.org/toh/tp-link/tl-wr703n downloaded squashfs-factory.bin to a USB stick, then renamed the file to factory.bin.
Then from the above link went to: http://cmikavac.net/2012/06/03/how-to-flash-tp-link-wr703n-with-openwrt/ to flash the router.
I connected my Kubuntu laptop via Cat5 cable to the WR703N, followed these instructions http://www.howtoforge.com/linux-basics-set-a-static-ip-on-ubuntu to give the laptop a static IP.
Since the web address listed in step 5, of the instructions, did not work I had to follow the screen shots located at http://wiki.cementhorizon.com/display/CH/Installing+OpenWRT+on+the+TP-Link+WR703N+v1.6 After the router rebooted, the web browser refreshed and displayed: OpenWrt | OpenWrt Attitude Adjustment 12.09 |Load 0.15.0.42 0.23
Then I confirmed that I could telnet into it, from a terminal window (I call it a command prompt, sorry DOS/Windows guy here) I was able to issue telnet 192.168.1.1 and get the QpenWrt Shell screen.
From here I’m going to poke around a bit before going further and maybe do the serial interface mod. Might order another WR703N, these things are tiny!
I just did that WIFI enable and setup thing in Luci again and it went without a hitch. I really am now suspecting the problem was that I filled up the file system.
I was about to get a PIC32, just because I had never used a MIPS machine before. Little did I know I already had two MIPS machines.
big or little endian has an impact on performance when networking. All to do with the ordering of bytes as they come down the pipe. So called "network byte order". I forget which way round it is or whether big or little endian is better for the CPU there.
That's odd about wget. If you can surf the net through that router then wget from the router should work.
Mike,
Wow, you have taken on a lot there. Looks like it's going well for you though.
I was able to use the web interface; I believe its referred to as LuCI, to configure the WR703N as a client on my Wi-Fi network. My main router connected to the internet is a WRT54G running DD-WRT, it’s been bullet proof for years.
Ya’ll have sparked my interest in trying to load the propeller with one of these routers. Once that’s accomplished using a PropPlug I hope it can be accomplished without the need for the PropPlug and you can load the Propeller that’s directly attached to the router.
Welcome.. the more the merrier.
In theory, the WR703N could replace a PropPlug as a wireless Propeller programming interface. So the $20USD could be very well spent. We just have to get the GPIO to Reset working.
+++++++++++++++++
Cluso and Mike Cook
Here is an interesting link for the wifi hardware involved. It seems that the configuration of Antheros and the MAC80211 requires some special handling. The link does NOT apply to Heaters DIR-615 with Ralink.
http://wiki.openwrt.org/doc/recipes/atheroswds
I'm itching to see if the propeller-loader I posted in #293 runs for anyone out there.
That loader already has some code in it to use a GPIO pin as a Prop reset so we should be able to use a UART on a router soon. It's needs some further massaging.
I just have to do a lsmod check for an FTDI driver and then load your binary to see if the USB port to USB2SER (or PropPlug) to Propeller is good.
But I am moving slow today. (I need time to read all the OpenWRT material that I don't quite understand.)
Ahhhggg...never mind all that dorky reading business and who cares if the USB/serial works?...I just want to know if the binary runs at all!
Now I'm inspired for the next part.
The loader I'm hacking on can use GPIO but it is fixed to GPIO number 17 which is what we have been using on the Raspberry Pi.
Who knows what GPIO number people will want to use on their routers? So this needs a bit more configuration option tweaking.
Also I have to drag in all the other junk the loader uses to Program all kind of boards with external RAM/FLASH/SDcards when used with C.
Anyone had any luck getting a PropPlug recognized on their router yet? My D-LINK does not have USB ports.
Okay, I am back home with my MR3020 active.
I had to load kmod-usb-serial-ftdi from th opkg packages. And I can actually see a serial port /dev/ttyUSB0.
I am going to try a quick hook up in Minicom to my Propeller Protoboard via Forth. If that works... then I can get to your binary (I have never used command line binary loads for the Propeller, so I want to try this first
[drum roll............]
WE HAVE Forth! 115200 8N1 via the USB port in the MR3020 on /dev/ttyUSB0. I have still not gotten /dev/ttyATH0 to work right.
++++++++++++
@Heater
I will get to your binary immediately. I suspect it will work fine.
Can you remove Activity board, then plug it in again, then issue a "dmesg" command, seeing the output might give us some clues.
Sounds like you might to install that kmod-usb-serial-ftdi package to get the USB/serial driver. Loopy, how did you do that?
Also can you post the out put of "ls -l /dev"?
I have a feeling that the loader only looks for certain kinds of names of serial ports "/dev/ttyS0", "/dev/ttyUSB0" so it might not see anything with odd names.
BUT!!!!
Followed Loopy's tid bit from above installed the FDTI drivers. see bottom line! (Propeller Version 1 on /dev/ttyUSB0)
And the command you asked for:
And dmesg
The kmod-serial-usb package ate another 36Kb of storage. I am down to 632Kb available.
I will keep trying. I do have scp active on my computer, but when I type scp propeller-load root@a.b.c.d , it merely hangs for awhile and then I get a prompt. I have Dropbear SSH active, so I should get a login challenge, shouldn't I?
===========
From a SSH session prompt
opkg update
opkg install kmod-usb-serial-ftdi
reboot
I think that should do it nicely.
I have been running successful hardwire loopbacks on /dev/ttyATH0. And I have had to modify /etc/inittab to disable the Serial Console from thinking it should participate in the same serial port.
I am NOT sure that I did my Serial Console disable properly. OpenWRT has a proceedure.. follow that and NOT other blog discussions. If appears I missed Item 1 and did only Item 2.
http://wiki.openwrt.org/doc/recipes/terminate.console.on.serial
Apparently I was not including a directory path after the IP#.
I got SCP to work fine and the only difference is I downloaded to /usr instead of /
I ran it and it does come up. So now I just have to figure out how and where to get a Propeller binary, and how to properly reach /dev/ttyUSB0.
(I have never used Propeller-load before, so it will take a bit of time to sort this all out).
Should I expect propeller-load to auto-detect /dev/ttyUSB0? Interesting thought........
++++++++++++++
Memory resource report.
Prior to downloading this, had 632KB, now have 592KB.
So the Propeller load seems to require 40KB space
More to come quite soon.
I do see that yours and my own scp of propeller-load reported 131KB total transfer
Actually I see this " 100% 131KB 130.8KB/s ". but it seems to have been compacted to 40Kb on the MR3020. Not sure what is going on here.
It any even the follow ducks are in a row.
1. The FTDI USB2SER is working on my MR3020 after loading the right driver
2. Propeller-loader is on the MR3020 and responds to the command line
3. Have enough space to acquire a 32K Propeller binary to attempt to install (I guess I have to do yet another SCP, but Heater has been very interested in WGET as an alternative).
More to come in a few moments.
I have loaded a Tachyon V2.1 binary from the MR3020 via the USB port and Heater's propeller-loader executable through a USB2SER into a Propeller Protoboard. Baud rate is 57600 8N1.
And then I brought up the same board in Minicom on the MR3020 to confirm a good install.
@Heater
It seems that we only have the /dev/ttyATH0 RS232 solution left to resolve.
If that doesn't work out, any router with a USB port that is OpenWrt supported might program a Propeller wirelessly or over LAN.
So far, I can't use /dev/ttyATH0 for anything with the Propeller.
Streaking ahead of all a dawdlers here.
Loopy,
You need the colon on the end of that scp command: That will put propeller-load in root's home directory on the target. Without the colon it just copies the file to your local machine with a weird name. Add a path after the colon if you want the file in some other directory.
propeller-load will detect USB serial ports, for some odd reason it does not look for real serial ports!
Look at this: the USB/serial is detected, the two actual serial ports are not.
No I don't really have a USBSerial here I faked it by creating symbolic link: Which may be a useful trick.
propeller-load should be able to use any port even if it does not see it automatically by adding the -p option:
Things have stalled here today. It's so damn hot I can't move. 30C in the shade may not be much to many but we are not used to it around here. This apartment has windows and a balcony with a clear view to the south so we are cooking here!
I need to go read up on OpenWRT. Took me a while to figure out how to hit the WR703N from the rest of the network. My original configuration, while I was setting it up was: Laptop connected to Wr703N's RJ-45 then the WR703N configured as a client on my WRT54g router. I could not ssh to the WR703N from other network clients. Fiddled around on the firewall settings and was able to make it work but I'm afraid I might have opened up too much stuff. But now I can ssh from any client on my wifi network. Right now I'm hitting it from my iPad.
I thought I read that the AT9331 had bugs with the USB port and could not run FS which is what the FT232RL (used on the propplug) uses. Seems you have made it work.
Hoping to get some time today.
heater, the wget failed because of my website end which is hosted by ixwebhosting,com From what I can tell, I don't have FTP enabled. Not sure what/why http doesn't work tho'.
no-ip ddns isn't working either. I need to go directly to my main router/hotspot first and get that working first. Then I can see what I need to do with my 703 - probably the firewall blocking the ports. My son has this working with his ADSL landline so I can compare to what he has. In the end, it could be my ISP (mobile cell provider) blocking this type of access.
Yep, fabulous progress these guys have been making.
no-ip will assign a host name to the external, public, network address of the router that connects to the internet. Is that router actually the one you have at home or is it somewhere in your cell network?
In order to get HTTP requests from the internet to your OpenWRT router you will need to set up port forwarding in the internet facing router. We talked about this the other day. If that is in the cell network you are out of luck.
It is possible your mobile provider will be blocking incoming connections. I have never tried it over a cell network. But as I said above it possible your cell modem is already on a non-publicly addressed LAN.
Also, for some reason that I never figured out, the last time I had this sort of port forwarding working I could access my home machines from out side, but trying to use the host name or public address from within the home LAN did not work.
Looks like I wont get to do anything today as my wife needs my laptop
Thanks to Heater compiling propeller-load for the Antheros devices, it seems with have reached both milestones in a modified manner (using the USB for an RS232 connection, rather than /dev/ttyATH0).
This may or may not satisfy many of us. I will continue to try on /dev/ttyATH0.
I certainly have a lot of learning to do about routers as there are so many modes, configuration options, and security alternatives that one's head begins to spin. But that is part of what attracted me to these tiny routers -- a chance to explore the topic without messing up my link to the outside world.
This has also been a great way to improve a lot of Linux Systems Administration skills. It is an area that we tend to ignore until we really need something that can't be done any other way. But there is a ton of handy features available.
++++++++++++
Next?
I guess I have to trace where Tx and Rx go on my MR3020. I still strongly suspect a ttl level incompatablity that might be cleared up with just buffering the input and out. There may be a voltage divider and capacitor on the Tx that create problems. I suspect that these could be by-passed.
My RS232 configuration
I have been using a 10K pull-up to 3.3v on the Tx as recommended. And this worked well with the USB2SER when I needed to reach the Serial Console.
It seems obvious that I should disconnect pull-up and see what happens. If that doesn't work, maybe add another 10k pull-up on the Rx side is required as well. I really do need an oscilloscope at this point to make a good prognosis, but I don't have one.
And I am not sure that the WR703N has the same serial port oddities. The two boards are different.
++++++++++
Another possibility is that the WR703N and MR3020 are half-duplex RS232 and simply do not want to respond to the outside world in a variety of ways. So I guess I will try to find out more about what is included in the Antheros chip.
**************
Dreams of installing a Propeller IDE.......
I do wonder if the httpd provided in OpenWrt for LuCi could also work with a compile or modified compile of SimpleIDE or Brad's Spin Tool. I have been told 'no', that would require the XWindows video system... but it still seems to me to be a remote possibility.
Was hacking away in the cool of the small hours of the morning. Which meant I was horribly tired and nothing worked!
I tried getting port forwarding for HTTP on my internet facing WRT router working. It did not lock me out this time but when trying to make HTTP requests from a server out on the net I only get "connection refused". There must be a firewall rule I need to allow this but I have not found it yet. The port forwarding on the original d-link firmware was very easy.
Loopy,
I very much doubt your /dev/ttyATH0 is half duplex. I have never seen such on many similar SoC and Linux based devices.
No you are not going to get SimpleIDE or BST working on these devices. If you could find/create all the libs for Qt the result would not fit in your fs. It would be horrible slow. You would need to export the X session over the net to make it work, making it even slower. It just not going to happen, impossible!
However...SimpleIDE uses the command line openspin compiler to do it's Spin compilations. That can be built to run on the routers. With that you can develop Spin code and program Props all on the router!
Which brings us to: A WEB based Spin compiler, openespin.js...
I made a simple demo of a Spin IDE that can compile Spin in the browser. I used Emsripten to compile the openspin compiler, used by SimpleIDE, into JavaScipt and wrapped it up in a WEB page with a syntax highlighting editor.
msrobots has extended that to an IDE that can handle multiple source files, and send the sources back to a server for compilation and loading to a Propeller!
If the routers could serve up the openspin.js web pages and handle the AJAX calls they could do the whole job.
http://forums.parallax.com/showthread.php/152711-A-Propeller-WebTool-Framework-for-Compiled-Languages
Meanwhile....I was busy trying to weld a DIP Propeller and associated components to a proto-board to use as by router connected Propeller. Of course as I was so tired, the 3.3v regulator did not work. And then smoke came out. And then it worked even less well!
The Prop should be OK as it was not connected to anything yet....
It is interesting that a Propeller binary might compile on one of these wifi routers. I guess an editor application on a touchpad would have to provide services fro writng and editting code. That isn't a bad compromise.
+++++++++
What's next?
1. I am beginning to explore the /dev/ttyATH0 port with hopes of still getting it to be useful on the MR3020. It seems be wired oddly.
The WR703N and DIR-615 may be wired completely differently and easier to deploy. I can't see the benefits of setting up a GPIO to Reset on the MR3020 without the Tx and Rx working well. I may get lucky and discover a good fix, or this miight have to wait for someone with a scope to investigate fully.
2. I installed Tachyon because I wanted to learn it more deeply. So I am studying Tachyon V2.1 for more wifi uses. I had explored PropForth and ptth in depth, but never got to Tachyon. The ability to use wifi to login is a big win.
3. Need to learn more about routers and wifi routing features. There are some exotic wifi networks that can be done. Ham Radio Meets often set up a Wifi Mesh network on a temporary basis. Since that takes several wifi nodes participating, I've not looked into it before.
+++++++
Thanks again for the AR7xxx binary for propeller-load. I suppose I should get the tool chain established and learn to do this myself. But it is always motivating to know that it can be done and one is trying to do something that might be impossible.