Jump to content
IGNORED

Fujinet N: Device testing


sideburn

Recommended Posts

Hey all,

 

I have been testing out the Fujinet N: device feature by following Thomas Cherryhomes' video here: 

 

 

But so far I haven't had much luck yet getting my own server to work.

 

First I verified it is working by doing a LOAD "N:HTTP://FUJINET-TESTING.IRATA.ONLINE/BLACKJACK.BAS" and that works fine.

 

But when I do a LOAD "N:HTTP://SIDEBURN.COM/FUJINET/BLACKJACK.BAS" or a LOAD "N:HTTP://www.SIDEBURN.COM/FUJINET/BLACKJACK.BAS" it failed with an ERROR 21

 

I have a directory on my server here with some files in it: http://www.sideburn.com/fujinet/

 

Any idea what I don't have correct here?


image.thumb.jpeg.df0308af788230424fd316fd83b4c4f8.jpeg

 

 

Edited by sideburn
Link to comment
Share on other sites

23 hours ago, bf2k+ said:

To me, error 21 means you are trying to load a 'listed' basic program rather than a saved basic program.  Try "ENTER" instead of "LOAD".

The error- 21 happens in this case, because the HTTP server sent back an error page, which Atari BASIC, of course, has no idea how to interpret.

-Thom

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, tschak909 said:

Worked just fine for me. Keep in mind, paths are case sensitive for most HTTP servers:

image.thumb.png.0d7ffeb66848485219968abbc9aedb82.png

-Thom

Ahh ok I will give it another try. Thanks!


Is there a way to easily convert a text BASIC listing into a tokenized BASIC formatted file ?

Link to comment
Share on other sites

10 hours ago, sideburn said:

Ahh ok I will give it another try. Thanks!


Is there a way to easily convert a text BASIC listing into a tokenized BASIC formatted file ?

Just use the ENTER command.

 

You can also turn on text translation, so you can convert between line endings (ATASCII, CR, LF, CR/LF):

 

XIO ASC("T"),#1,0,X,"N:"


Where X can be 
 

0 = No Translation
1 = ATASCII<->CR
2 = ATASCII<->LF
3 = ATASCII<->CR/LF


https://github.com/FujiNetWIFI/fujinet-platformio/wiki/N%3A-SIO-Command-'T'---Set-Translation

The NTRANS utility on fnc-tools also performs this operation.

 

This works with every native programming environment:


-Thom

Link to comment
Share on other sites

Now I am having trouble with NCD

 

i changed my directory to uppercase: http://www.sideburn.com/FUJINET/

 

I can NCD to ftp://ftp.pigwa.net/ and then for an A (disk directory) on N: and get a listing. 
 

but then if I NCD and hit return to clear then NCD back in and enter http://www.sideburn.com/FUJINET/ I get an error 146

 

if I clear again and NCD to http://fujinet-testing.irata.online/ I get an error 144 on a directory listing. 
 

does it not work with http?

Is a listing of error codes online somewhere for n: device? Haven’t had luck finding but I do have DOS error codes. 
 

I was also getting 208 errors even trying to get to ftp.pigwa.net and had to reboot to fix. Not sure how to consistently reproduce that yet though. 

 

 

Link to comment
Share on other sites

12 hours ago, sideburn said:

Now I am having trouble with NCD

 

i changed my directory to uppercase: http://www.sideburn.com/FUJINET/

 

I can NCD to ftp://ftp.pigwa.net/ and then for an A (disk directory) on N: and get a listing. 
 

but then if I NCD and hit return to clear then NCD back in and enter http://www.sideburn.com/FUJINET/ I get an error 146

 

if I clear again and NCD to http://fujinet-testing.irata.online/ I get an error 144 on a directory listing. 
 

does it not work with http?

Is a listing of error codes online somewhere for n: device? Haven’t had luck finding but I do have DOS error codes. 
 

I was also getting 208 errors even trying to get to ftp.pigwa.net and had to reboot to fix. Not sure how to consistently reproduce that yet though. 

 

 

Debug output from the FujiNet flasher while doing this would be very helpful in helping debug this.

 

-Thom 

Link to comment
Share on other sites

Posted (edited)

Here's my results with debug output:

 

NCD: ftp://ftp.pigwa.net/

 

sioNetwork::sio_set_prefix(ftp://ftp.pigwa.net/)
[09:44:11] Prefix now: ftp://ftp.pigwa.net/
[09:44:11] COMPLETE!

NDD: <RETURN>
sioNetwork::sio_set_prefix()
[09:45:25] Prefix now: /
[09:45:25] COMPLETE!

 

 

NCD: http://www.sideburn.com/FUJINET


sioNetwork::sio_set_prefix(http://www.sideburn.com/FUJINET/)
[09:46:45] Prefix now: http://www.sideburn.com/FUJINET/
[09:46:45] COMPLETE!

 

 

A <RETURN> N: <RETURN>

 

 

[09:47:37] ACK!
[09:47:37] util_devicespec_fix_for_parsing(N:http://www.sideburn.com/FUJINET/**, http://www.sideburn.com/FUJINET/, true, true)
[09:47:37] ::parse_and_instantiate_protocol transformed to (N:http://www.sideburn.com/FUJINET/**, http://www.sideburn.com/FUJINET/**)
[09:47:37] NetworkProtocol::ctor()
[09:47:37] sioNetwork::instantiate_protocol() - Protocol http created.
[09:47:37] translation mode = 0NetworkProtocolHTTP::mount(http://www.sideburn.com/FUJINET/**)
[09:47:37] fnHttpClient::begin "http://www.sideburn.com/FUJINET/**"
[09:47:37] NetworkProtocolFS::open_dir(http://www.sideburn.com/FUJINET/**)
[09:47:37] NetworkProtocolHTTP::open_dir_handle()
[09:47:37] esp_http_client_cleanup(0x3f82bd54)
[09:47:37] free heap: 4029460
[09:47:37] [lib/http/fnHttpClient.cpp:35] ~fnHttpClient(): free low heap: 88939
[09:47:37] 
[09:47:37] fnHttpClient::begin "http://www.sideburn.com/FUJINET/**"
[09:47:37] fnHttpClient::PROPFIND
[09:47:37] 0006cbc1 _perform
[09:47:37] esp_http_client_get_status_code = 405
[09:47:37] 0006cccb _perform status = 405, length = 236, chunked = 0
[09:47:37] Could not do PROPFIND. Result code 405
[09:47:37] Protocol unable to make connection. Error: 146
[09:47:37] NetworkProtocol::dtor()
[09:47:37] ERROR!
[09:47:37] 
[09:47:37] CF: 71 53 00 00 c4
[09:47:37] sioNetwork::sio_process 0x53 'S': 0x00, 0x00
[09:47:37] ACK!
[09:47:37] sioNetwork::sio_status_local(0)
[09:47:37] ->SIO write 4 bytes
[09:47:37] COMPLETE!
[09:47:37] 
[09:47:37] CF: 71 43 00 00 b4
[09:47:37] sioNetwork::sio_process 0x43 'C': 0x00, 0x00
[09:47:37] sioNetwork::sio_close()
[09:47:37] ACK!
[09:47:37] COMPLETE!
[09:47:56] esp_http_client_perform returned 0, stack HWM 2304
[09:47:57] esp_http_client_perform returned 0, stack HWM 2312
[09:48:16] [lib/http/fnHttpClient.cpp:396] _perform_subtask(): _perform_subtask_exiting
[09:48:17] [lib/http/fnHttpClient.cpp:396] _perform_subtask(): _perform_subtask_exiting
[09:47:37] ACK!
[09:47:37] util_devicespec_fix_for_parsing(N:http://www.sideburn.com/FUJINET/**, http://www.sideburn.com/FUJINET/, true, true)
[09:47:37] ::parse_and_instantiate_protocol transformed to (N:http://www.sideburn.com/FUJINET/**, http://www.sideburn.com/FUJINET/**)
[09:47:37] NetworkProtocol::ctor()
[09:47:37] sioNetwork::instantiate_protocol() - Protocol http created.
[09:47:37] translation mode = 0NetworkProtocolHTTP::mount(http://www.sideburn.com/FUJINET/**)
[09:47:37] fnHttpClient::begin "http://www.sideburn.com/FUJINET/**"
[09:47:37] NetworkProtocolFS::open_dir(http://www.sideburn.com/FUJINET/**)
[09:47:37] NetworkProtocolHTTP::open_dir_handle()
[09:47:37] esp_http_client_cleanup(0x3f82bd54)
[09:47:37] free heap: 4029460
[09:47:37] [lib/http/fnHttpClient.cpp:35] ~fnHttpClient(): free low heap: 88939
[09:47:37] 
[09:47:37] fnHttpClient::begin "http://www.sideburn.com/FUJINET/**"
[09:47:37] fnHttpClient::PROPFIND
[09:47:37] 0006cbc1 _perform
[09:47:37] esp_http_client_get_status_code = 405
[09:47:37] 0006cccb _perform status = 405, length = 236, chunked = 0
[09:47:37] Could not do PROPFIND. Result code 405
[09:47:37] Protocol unable to make connection. Error: 146
[09:47:37] NetworkProtocol::dtor()
[09:47:37] ERROR!
[09:47:37] 
[09:47:37] CF: 71 53 00 00 c4
[09:47:37] sioNetwork::sio_process 0x53 'S': 0x00, 0x00
[09:47:37] ACK!
[09:47:37] sioNetwork::sio_status_local(0)
[09:47:37] ->SIO write 4 bytes
[09:47:37] COMPLETE!
[09:47:37] 
[09:47:37] CF: 71 43 00 00 b4
[09:47:37] sioNetwork::sio_process 0x43 'C': 0x00, 0x00
[09:47:37] sioNetwork::sio_close()
[09:47:37] ACK!
[09:47:37] COMPLETE!
[09:47:56] esp_http_client_perform returned 0, stack HWM 2304
[09:47:57] esp_http_client_perform returned 0, stack HWM 2312
[09:48:16] [lib/http/fnHttpClient.cpp:396] _perform_subtask(): _perform_subtask_exiting
[09:48:17] [lib/http/fnHttpClient.cpp:396] _perform_subtask(): _perform_subtask_exiting

 

NCD: http://fujinet-testing.irata.online/

 

sioNetwork::sio_set_prefix(http://fujinet-testing.irata.online/)
[09:54:50] Prefix now: http://fujinet-testing.irata.online/
[09:54:50] COMPLETE!

 

A <RETURN> N: <RETURN>

 

[09:55:27] CF: 71 4f 06 00 c6
[09:55:27] sioNetwork::sio_process 0x4f 'O': 0x06, 0x00
[09:55:27] sioNetwork::sio_open()
[09:55:27] 
[09:55:27] ACK!
[09:55:27] <-SIO read 256 bytes
[09:55:27] ACK!
[09:55:27] util_devicespec_fix_for_parsing(N:http://fujinet-testing.irata.online/**, http://fujinet-testing.irata.online/, true, true)
[09:55:27] ::parse_and_instantiate_protocol transformed to (N:http://fujinet-testing.irata.online/**, http://fujinet-testing.irata.online/**)
[09:55:27] NetworkProtocol::ctor()
[09:55:27] sioNetwork::instantiate_protocol() - Protocol http created.
[09:55:27] translation mode = 0NetworkProtocolHTTP::mount(http://fujinet-testing.irata.online/**)
[09:55:27] fnHttpClient::begin "http://fujinet-testing.irata.online/**"
[09:55:27] NetworkProtocolFS::open_dir(http://fujinet-testing.irata.online/**)
[09:55:27] NetworkProtocolHTTP::open_dir_handle()
[09:55:27] esp_http_client_cleanup(0x3f82e2f4)
[09:55:27] free heap: 4029268
[09:55:27] [lib/http/fnHttpClient.cpp:35] ~fnHttpClient(): free low heap: 92723
[09:55:27] 
[09:55:27] fnHttpClient::begin "http://fujinet-testing.irata.online/**"
[09:55:27] fnHttpClient::PROPFIND
[09:55:27] 000dfa13 _perform
[09:55:27] esp_http_client_get_status_code = 0
[09:55:27] 000dfa13 _perform status = 0, length = 0, chunked = 0
[09:55:27] Could not allocate 0 bytes for PROPFIND data. Aborting
[09:55:27] Protocol unable to make connection. Error: 144
[09:55:27] NetworkProtocol::dtor()
[09:55:27] ERROR!
[09:55:27] 
[09:55:27] CF: 71 4f 06 00 c6
[09:55:27] sioNetwork::sio_process 0x4f 'O': 0x06, 0x00
[09:55:27] sioNetwork::sio_open()
[09:55:27] 
[09:55:27] ACK!
[09:55:27] <-SIO read 256 bytes
[09:55:27] ACK!
[09:55:27] util_devicespec_fix_for_parsing(N:http://fujinet-testing.irata.online/**, http://fujinet-testing.irata.online/, true, true)
[09:55:27] ::parse_and_instantiate_protocol transformed to (N:http://fujinet-testing.irata.online/**, http://fujinet-testing.irata.online/**)
[09:55:27] NetworkProtocol::ctor()
[09:55:27] sioNetwork::instantiate_protocol() - Protocol http created.
[09:55:27] translation mode = 0NetworkProtocolHTTP::mount(http://fujinet-testing.irata.online/**)
[09:55:27] fnHttpClient::begin "http://fujinet-testing.irata.online/**"
[09:55:27] NetworkProtocolFS::open_dir(http://fujinet-testing.irata.online/**)
[09:55:27] NetworkProtocolHTTP::open_dir_handle()
[09:55:27] esp_http_client_cleanup(0x3f82fe64)
[09:55:27] free heap: 4016868
[09:55:27] [lib/http/fnHttpClient.cpp:35] ~fnHttpClient(): free low heap: 87427
[09:55:27] 
[09:55:27] fnHttpClient::begin "http://fujinet-testing.irata.online/**"
[09:55:27] fnHttpClient::PROPFIND
[09:55:27] 000dfac5 _perform
[09:55:27] esp_http_client_get_status_code = 4294967295
[09:55:27] 000dfb01 _perform status = 900, length = 0, chunked = 0
[09:55:27] Could not do PROPFIND. Result code 900
[09:55:27] Protocol unable to make connection. Error: 144
[09:55:27] NetworkProtocol::dtor()
[09:55:27] ERROR!
[09:55:27] 
[09:55:27] CF: 71 53 00 00 c4
[09:55:27] sioNetwork::sio_process 0x53 'S': 0x00, 0x00
[09:55:27] ACK!
[09:55:27] sioNetwork::sio_status_local(0)
[09:55:27] ->SIO write 4 bytes
[09:55:27] COMPLETE!
[09:55:27] 
[09:55:27] CF: 71 43 00 00 b4
[09:55:27] sioNetwork::sio_process 0x43 'C': 0x00, 0x00
[09:55:27] sioNetwork::sio_close()
[09:55:27] ACK!
[09:55:27] COMPLETE!

 

NCD: ftp://ftp.pigwa.net/

 

sioNetwork::sio_set_prefix(ftp://ftp.pigwa.net/)
[09:58:55] Prefix now: ftp://ftp.pigwa.net/
[09:58:55] COMPLETE!
 

A <RETURN> N: <RETURN>

 

[10:00:27] ACK!
[10:00:27] util_devicespec_fix_for_parsing(N:ftp://ftp.pigwa.net/**, ftp://ftp.pigwa.net/, true, true)
[10:00:27] ::parse_and_instantiate_protocol transformed to (N:ftp://ftp.pigwa.net/**, ftp://ftp.pigwa.net/**)
[10:00:27] NetworkProtocol::ctor()
[10:00:27] NetworkProtocolFTP::ctor
[10:00:27] sioNetwork::instantiate_protocol() - Protocol ftp created.
[10:00:27] translation mode = 0fnFTP::login(ftp.pigwa.net,21)
[10:00:27] Resolving hostname "ftp.pigwa.net"
[10:00:27] Resolved to address 188.252.100.181
[10:00:27] Connected, waiting for 220.
[10:00:28] fnFTP::parse_response() - 220, "220 (vsFTPd 2.0.6)"
[10:00:28] Sending USER.
[10:00:28] fnFTP::parse_response() - 331, "331 Please specify the password."
[10:00:28] Sending PASS.
[10:00:28] fnFTP::parse_response() - 230, "230 Login successful."
[10:00:28] Logged in successfully. Setting type.
[10:00:28] fnFTP::TYPE()
[10:00:28] fnFTP::parse_response() - 200, "200 Switching to Binary mode."
[10:00:28] Logged in
[10:00:28] NetworkProtocolFS::open_dir(ftp://ftp.pigwa.net/**)
[10:00:28] fnFTP::get_data_port()
[10:00:28] fnFTP::EPSV()
[10:00:28] Did EPSV, getting response.
[10:00:29] fnFTP::parse_response() - 229, "229 Entering Extended Passive Mode (|||23109|)"
[10:00:29] Server gave us data port: 23109
[10:00:29] Resolving hostname "ftp.pigwa.net"
[10:00:29] Resolved to address 188.252.100.181
[10:00:29] Data port 23109 opened.
[10:00:29] fnFTP::LIST(/,*)
[10:00:29] fnFTP::parse_response() - 150, "150 Here comes the directory listing."
[10:00:29] fnFTP::open_directory(/*) - 150 Here comes the directory listing.
[10:00:29] Got our 150
[10:00:29] Retrieving directory list
[10:00:29] fnTcpClient disconnected
[10:00:29] fnFTP::parse_response() - 226, "226 Directory send OK."
[10:00:29] fnFTP::read_directory - -rw-rw-r--    1 5002     6504          117 Mar 03  2023 WANT_TO_UPLOAD___READ_ME.txt
[10:00:29] Name: WANT_TO_UPLOAD___READ_ME.txt filesize: 117
[10:00:29] fnFTP::read_directory - drwx------    2 0        0            4096 Mar 05  2014 lost+found
[10:00:29] Name: lost+found filesize: 4096
[10:00:29] fnFTP::read_directory - drwxrwxr-x   10 5002     6504         4096 Apr 19  2023 stuff
[10:00:29] Name: stuff filesize: 4096
[10:00:29] fnFTP::read_directory - drwxrwx---    2 5002     6504         4096 Jul 08  2023 upload
[10:00:29] Name: upload filesize: 4096
[10:00:29] fnFTP::read_directory - drwxrwx---    3 5002     6504         4096 Mar 03  2023 upload2
[10:00:29] Name: upload2 filesize: 4096
[10:00:29] fnFTP::read_directory - -rw-rw-r--    1 5002     6504         2900 Apr 15  2022 welcome.msg
[10:00:29] Name: welcome.msg filesize: 2900
[10:00:29] FNJSON::ctor()
[10:00:29] FNJSON::setProtocol()
[10:00:29] COMPLETE!
[10:00:29] 
[10:00:29] CF: 71 53 00 00 c4
[10:00:29] sioNetwork::sio_process 0x53 'S': 0x00, 0x00
[10:00:29] ACK!
[10:00:29] sioNetwork::sio_status_channel(0)
[10:00:29] NetworkProtocol::read(125)
[10:00:29] sio_status_channel() - BW: 125 😄 1 E: 1
[10:00:29] ->SIO write 4 bytes
[10:00:29] COMPLETE!
[10:00:29] 
[10:00:29] CF: 71 52 7d 00 41
[10:00:29] sioNetwork::sio_process 0x52 'R': 0x7d, 0x00
[10:00:29] sioNetwork::sio_read( 125 bytes)
[10:00:29] ACK!
[10:00:29] NetworkProtocol::read(125)
[10:00:29] ->SIO write 125 bytes
[10:00:29] COMPLETE!
[10:00:30] 
[10:00:30] CF: 71 53 00 00 c4
[10:00:30] sioNetwork::sio_process 0x53 'S': 0x00, 0x00
[10:00:30] ACK!
[10:00:30] sioNetwork::sio_status_channel(0)
[10:00:30] sio_status_channel() - BW: 0 😄 0 E: 136
[10:00:30] ->SIO write 4 bytes
[10:00:30] COMPLETE!
[10:00:30] 
[10:00:30] CF: 71 43 00 00 b4
[10:00:30] sioNetwork::sio_process 0x43 'C': 0x00, 0x00
[10:00:30] sioNetwork::sio_close()
[10:00:30] ACK!
[10:00:30] fnFTP::close()
[10:00:30] fnFTP::logout()
[10:00:30] fnFTP::QUIT()
[10:00:30] fnFTP::parse_response() - 221, "221 Goodbye."
[10:00:30] COMPLETE!
[10:00:30] [lib/device/sio/network.cpp:208] sio_close(): Before protocol delete 91543
[10:00:30] 
[10:00:30] NetworkProtocolFTP::dtor
[10:00:30] NetworkProtocol::dtor()
[10:00:30] FNJSON::dtor()
[10:00:30] [lib/device/sio/network.cpp:219] sio_close(): After protocol delete 91699
[10:00:30] 

Edited by sideburn
Link to comment
Share on other sites

Posted (edited)
18 minutes ago, tschak909 said:

405 means method not allowed. You can only get a directory from web servers that have WebDAV enabled. Do you?

 

-Thom

Ah, I doubt it its my old server I used since back in the late 90's  to host my website. Its through Netfirms hosting provider.

 

I have an NTSF server running locally though that is working from the Fujinet config page.

 

I also have an local Apache server that I can get to on the same machine at http://localhost but for some reason no other machines (including the same one the server is running on) on my same local IP can reach it at 127.0.0.1. The ONLY way I can reach the server is through http://localhost and that must be on the host machine. I am using MAMP pro on a MacBook Pro...

 

So since I can't reach the local server is why I went to my public Netfirms server in the first place.

Edited by sideburn
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...