Current firmware / Changes
#1
To update the firmware of your WiModem, connect to the internet via your router, launch a terminal program and type:

ATUPDATE<RETURN>

The message "Updating Firmware" will be displayed.  After about 30 seconds the WiModem will reboot with the latest firmware available.

Note: With v2.00 and later firmare, the update command was changed from ATUPDATE to AT*UPDATE.  If you are using v1.97 or older firmware type ATUPDATE, otherwise type AT*UPDATE.  Everyone should be using the latest version by this point.

WiModem firmware history:

---------------------------------------------------------------------------------------------

v1.00 - 06/09/16
  • Initial release.

---------------------------------------------------------------------------------------------

v1.01 - 06/20/16
  • Added support for true hardware handshaking, instead of emulated hardware handshaking.

---------------------------------------------------------------------------------------------

v1.02 - 07/23/16
  • Changed length of phone book entries to 40 characters.  This requires requires phone book to be reset, resulting in previous entries to be erased!

---------------------------------------------------------------------------------------------

v1.03 - 07/26/16
  • Fixed MAC address displayed with ATI and ATI! to be correct (it was being displayed reversed).

---------------------------------------------------------------------------------------------

v1.1 - 08/06/16
  • Added AT*NS command to select router from list provided by AT*N.
  • Added server check to notify user when a firmware update is available.
  • Added notification in ATI commands when a firmware update is available.
  • Added 2 more available phone book entries (10 total).
  • Changed version information to no longer use minor revision numbers.

---------------------------------------------------------------------------------------------

v1.2 - 09/05/16
  • changed station name to be 'WiModem'
  • added ability to spoof a phone number into a URL:port
  • added AT&FS to clear spoof entries
  • added AT&SNx to show spoof numbers
  • added AT&SNx= to set or delete a spoof number
  • added ATDP to be the same as ATDT
  • added OK response for just AT by itself

---------------------------------------------------------------------------------------------

v1.3 - 10/22/16
  • fixed input buffer logic
  • changed ESP8266 library to latest version
---------------------------------------------------------------------------------------------

v1.4 - 11/19/16
  • changed parser to use upper or lower case for all command except AT*SSID and AT*NS

---------------------------------------------------------------------------------------------

v1.5 - 11/22/16
  • added incoming connection support

---------------------------------------------------------------------------------------------

v1.6 - 11/24/16
  • corrected stack problem with v1.5
  • added ATA function
  • added ATS codes (S0, S2, S12)

---------------------------------------------------------------------------------------------

v1.7 - 12/16/16
  • changed default listening port from 23 to 6400

---------------------------------------------------------------------------------------------

v1.8 - 03/08/17
  • Re-wrote output routine to properly handle flow control when AT&K1 is enabled.
  • Changed AT*SSID and AT*NS commands so that lower case versions (at*ssid and at*ns) can be
    used.  Previously, these HAD to be all upper case or the router would never be found!

---------------------------------------------------------------------------------------------

v1.9 - 03/27/17
  • Changed method of setting ESP8266 router name.
  • Changed all text outputs to check for handshaking.
  • Corrected copyright message.
  • Fixed issue with incoming data being shown after entering command mode with +++.
  • Added ATA to HELP and HELP! commands.

---------------------------------------------------------------------------------------------

v1.91 - 03/30/17
  • Fixed problem with remote connection not resetting the auto answer ring counter.

---------------------------------------------------------------------------------------------

v1.92 - 04/01/17
  • Added new AT command for changing the incoming (listen) port number.  Use AT*L [port].
  • General cleanup and made command line parser a subroutine instead of inline code.

---------------------------------------------------------------------------------------------

v1.93 - 04/04/17
  • Changed ATI info to show the outgoing port and incoming port.
  • Automatically update the listen port's EEPROM value if not initialized.

---------------------------------------------------------------------------------------------

v1.94 - 05/04/17
  • Changed hardware handshake to look at the GPIO directly instead of using the digitalread() function.

---------------------------------------------------------------------------------------------

v1.95 - 10/12/17
  • Added support for TELNET translation.
  • Added new command: AT*T for setting the translation mode.  Options: 0=none, 1=telnet

---------------------------------------------------------------------------------------------

v1.96 - 10/14/17
  • Added support for saving AT*T option with AT&W.

---------------------------------------------------------------------------------------------

v1.97 - 11/06/17
  • Changed RTS/CTS handler.
  • Added support for ATZ0.
  • Added reset baud/eeprom capability using CN2
  • Added ATMx command to emulate speaker control.
  • Changed default baud rate to 300 baud.

---------------------------------------------------------------------------------------------

v2.00 - 12/26/17
  • Command parser now accepts multiple commands.
  • Changed command syntax to adhere to official Hayes specification.
  • Changed ATDSx to ATDS=x.
  • Changed ATI! to ATI1.
  • Increased max baud rate to 230400 for WiModem232.
  • Changed all WiModem/WiModem232 specific commands so that they use a "*" between the "AT" and command.
  • Added AT*FLIP to change display direction.
  • Added ATLx command to emulate speaker volume control.
  • Added ATCx command to emulate transmit carrier signal.
  • Added ATXx command for selecting basic or extended result codes.
  • Added AT&V to view all settings.

*ATTENTION*

After doing the v2.00 firmware update it is necessary to reset the settings to the factory defaults using AT&F.

With v2.00 and later, the update command has changed from ATUPDATE to AT*UPDATE.  If you are using v1.97 or older firmware, type ATUPDATE.

---------------------------------------------------------------------------------------------

v2.01 - 12/27/17
  • Fixed AT*HELP displaying ATI! instead of ATI1

---------------------------------------------------------------------------------------------

v2.02 - 12/30/17
  • Corrected issue with "Update Available" text being on the wrong line for flipped display (WiModem232)
  • Fixed issue with "No Router Located" text not being displayed when router is not found

---------------------------------------------------------------------------------------------

v2.10 - 01/01/18
  • Changed copyright message for 2018.
  • Added extended modes (ATXx) to show baud rate connection speed when X>0.
  • Moved AT&F to be included in commands that can be sequential.
  • Added ATNx to command to emulate carrier negotiation (does nothing, but now supported)
  • Added AT&D for setting DTR control (does nothing, but supported)
  • Added S-Codes S1,S3,S4,S5,S6,S7.S8,S9,S10,S11,S25,S30,S32,S33, and S37.
  • Re-arranged EEPROM and changed ID bytes - this firwmare WILL automatically reset all settings!
  • Added WiFi Channel number to info shown with ATI.
  • Added support for ATI! for legacy programs.
  • Added Telnet escaping for outgoing data

---------------------------------------------------------------------------------------------

v2.20 - 01/10/18
  • Re-wrote input handler
  • Corrected issue with AT*HELP and AT*HELP! showing the proper syntax for ATDS=x

---------------------------------------------------------------------------------------------

v2.30 - 01/12/18
  • Corrected issue with hardware flow control

---------------------------------------------------------------------------------------------

v2.31 - 01/13/18
  • Changed hardware flow control (again)
  • Added ATI2 command to show CPU/RF info
  • Added filesystem commands (to be documented later)

---------------------------------------------------------------------------------------------

v2.40 - 01/28/18   ** REMOVED **  v2.31 was restored - use AT*UPDATE TO DOWNGRADE YOUR FIRMWARE!
  • Changed OLED routines to use assembly code for I2C transfers.
  • Fixed response with AT*LED command (was always returning ERROR).
  • Fixed non-verbal codes (RING and CONNECT were swapped).
  • Added code for supporting version 2 of WiModem232 hardware.
  • Changed naggle for incoming connection.
  • Allowed ATH command so it can be used with other AT commands in string (ie ATE0V1H).
  • Changed emergency reset check to only occur on power-up.

---------------------------------------------------------------------------------------------

v2.50 - 02/01/18
  • Major re-write of incoming and outgoing data streams so they are fully asynchronous.
  • Added AT*BL command to set the buffer limit before flow is paused.
  • Added ATW command (negotiation progress).
  • Added support for &K3 to enable RTS/CTS handshaking.
  • Adding saving ALL of the S-registers with AT&W.

---------------------------------------------------------------------------------------------

v2.51 - 02/02/18
  • Fixed non-verbose messages not showing properly for incoming connections.

---------------------------------------------------------------------------------------------

v2.60 - 02/03/18
  • Added buffer limit (*BL) value to AT&V output.
  • Changed buffer code to allow space characters in the BUSY message.
  • Added support for a/, which repeats the last AT command.
  • Fixed issue with phone book entries not storing (AT&Zx=).
  • Created new command ATI3 to show the connection time information.
  • Changed +++ parser to match the Hayes specification, fixing problems with uploads with +++.
  • Fixed input parser when no characters are in the buffer.

---------------------------------------------------------------------------------------------

v2.70 - 02/07/18
  • Added AT&Q command.  Used as a reference for &D and &S.
  • Added AT&S command.  Used by software that needs DSR to change states based connection.
  • Changed AT&D command to function per the Hayes spec.
  • Changed default DCD polarity to be LOW for WiModem232.
  • Fixed AT&C1 and AT*D to output the correct DCD state while in COMMAND.

---------------------------------------------------------------------------------------------

v2.80 - 03/16/18
  • Added support for WiModem232 V2.
  • Changed WiModem reset check to be after boot up.
  • Added ability to force V2 firmware on V1 hardware (requires V1 hardware mods).
  • Added WiModem hardware info to ATI2.
  • Added &S DSR support for properly handling DSR (fixes GBBS).

---------------------------------------------------------------------------------------------

v2.90 - 04/06/18
  • Fixed issue with storing spoof number entries.
  • Added reset of DTR, DSR, and DCD dates when using AT&F.
  • Fixed some issues with text showing the wrong WiModem or WiModem232 hardware.

*NOTE* It is recommended that you send AT&F after this update!

---------------------------------------------------------------------------------------------

v2.91 - 04/06/18
  • Fixed problem with storing baud rates higher than 57600 baud with AT&W
  • Removed 14400 baud rate

NOTE: this update resets all standard settings (doesn't affect spoof or phone book) so your baud rate will be set to 300 baud after the update is complete.  You will need to set your terminal program's baud rate to 300 baud to communicate with the WiModem.  You can then set the baud rate (AT*B) to whatever baud rate you like.  Once you have made changes to your baud rate (and anything else), you can save the settings using AT&W.

---------------------------------------------------------------------------------------------

v2.92 - 06/19/18
  • Added support for &G and B commands.  CBase for the C64/128 now works without changes.

--------------------------------------------------------------------------------------------

v2.93 - 07/28/18
  • Renamed AT*RESET to AT*REBOOT due to confusion with what it does.
  • Added ability to set the static ip, gateway, and subnet mask.
  • Added ability to use either DHCP or a static IP address.
  • Added AT*NET? and AT*NET= for setting the network mode (DHCP or STATIC).
  • Added AT*IP? and AT*IP= for setting static IP address.
  • Added AT*GW? and AT*GW= for setting gateway address.
  • Added AT*SUB? and AT*SUB= for setting subnet mask.
  • Added ATI4 to display IP settings.

---------------------------------------------------------------------------------------------

v2.94 - 08/15/18
  • Fixed a bug in the reset to defaults routine (AT&F) where the NETWORK type is set to STATIC instead of DHCP.

---------------------------------------------------------------------------------------------

v3.00 -  09/10/18
  • Added AT!STATUS, checks status and formats SPIFFS if not already setup.
  • Added AT!FORMAT, which formats the local drive.
  • Added AT!DIR, which shows the locat drive's directory.
  • Added AT!$, which loads a CBM directory for BASIC.
  • Added AT!L, which handles LOAD for C64
  • Added AT!S, which handles SAVE for C64
  • Added AT!DEL, which deletes a closed file on the local drive.

---------------------------------------------------------------------------------------------

v3.01 - 01/24/18
  • Added AT*A command to enable/disable AutoDial feature.  When enabled, the first entry in the phone book will automatically be "dialed" on power up.
  • Added AT*TS command to enable/disable TELSTAR support of 0x5F for CR in COMMAND mode.

---------------------------------------------------------------------------------------------

v3.02 - 03/18/19
  • Disabled client side naggle delay.

---------------------------------------------------------------------------------------------

v3.03 - 10/31/19
  • Forced flow control check into IRAM to speed up the main loop.
  • Updated OLED and other libraries.
  • Fixed spacing in HELP screen for AT*FLIP.

---------------------------------------------------------------------------------------------

v3.04 - 05/20/20
  • Fixed problem with AT*BUSY message dropping first character when stored in EEPROM.
  • Updated copyright information.

---------------------------------------------------------------------------------------------

v3.05 - 07/15/20
  • Changed LED library.

---------------------------------------------------------------------------------------------

v3.06 - 09/03/20
  • Added support for S-Register 9, which is the time delay after a connection is established (DCD changes) and when data is allowed to flow.  Default value is 6 (which is 6/10ths of a second).

---------------------------------------------------------------------------------------------

v3.10 - 11/23/20
  • Updated to latest Arduino IDE and ESP8266 libraries!
  • Added support for secure connections (port 443 now works).
  • Compiled for high bandwidth mode.

---------------------------------------------------------------------------------------------

v3.20 - 11/25/20
  • Added support for 75, 110, and 150 baud rates.
  • Added support for changing data bits, partiy, and stop bits by adding to baud rate command (AT*Bxxx,8N1).
  • Eliminated AP portal.

---------------------------------------------------------------------------------------------

v3.21 - 12/07/20
  • Added option to force Telnet mode OFF or ON for a connection by adding either *T0, or *T1, before URL.
  • Updated AT*HELP! to reflect recent changes

---------------------------------------------------------------------------------------------

v3.30 - 01/24/21
  • Fixed issue with AT*HELP! having the wrong syntax for dialing using *T0, and *T1,.
  • Fixed issue with auto-answer when setting ATS0 to a non-zero value.
  • Updated copyright date.

---------------------------------------------------------------------------------------------

v3.40 - 03/28/21
  • Added IP connection info for incoming connection to OLED screen.
  • Added IP banning using new banned connection (AT&BC) command.  This uses the same syntax as AT&SN.  Use '*' character to cover all entries (0-255) of an octet.
  • Added showing number of banned logins in ATI3.
  • Fixed issue with a disconnection in the middle of a connection not resetting the RING counter.

---------------------------------------------------------------------------------------------

v3.41 - 04/12/21
  • Fixed race condition that would sometimes not set DCD before the CONNECT message.


MAJOR FIRMWARE RELEASE!

COMPLETE RE-WRITE OF ESP8266 TCP/IP STACK HANDLER!

---------------------------------------------------------------------------------------------

v4.00 - 05/23/21
  • Fixed AT&V output in numeric mode.
  • Fixed issue with ATH0 not being able to be a sequential command.
  • Fixed issue with retrieving data while a disconnection is occurring.
  • Fixed current connection time in ATI3.
  • Fixed crash when using AT*B without a baud rate.
  • Fixed issue with some commands not returning ERROR when not setting or querying a value.
  • Fixed AT*BL not using the upper byte of the word when changed!
  • Re-wrote code for storage support (C64 WHD and WiCopy programs).
  • Changed emergency reset check to only be on power up.
  • Changed router name to be the far left side of the OLED screen and added baud rate to the far right side.
  • Changed command AT*FLIP to be immediate, no longer showing the intro screen.
  • Changed +++ so that only 1/2 of the escape guard time is required before entering command mode without a character received.
  • Removed "filesystem ready" startup message.
  • Removed AT*REBOOT function.  Cycle power to reboot.
  • Added ability to suppress command mode output (for a single command) by having very first character "!".
  • Added ability to use ATD to dial out, like ATDT or ATDP.
  • Added showing port number (with the URL) for connections.
  • Added support for 7200, 12000, and 14400 baud rates (for completeness).
  • Added full Hayes compliant support for numeric and extended modes.
  • Added ATH1 to support taking line "off hook" so there is no response to incoming requests.
  • Added new LED color (ORANGE) to indicate when auto-answer is enabled (ATS0=1 to 9).
  • Added support for spoof entries to be in the phone book.
  • Added flashing of LED when incoming call is occurring and auto-answer is off.
  • Added incoming call notice on the OLED screen.
  • Added showing the last typed command on the OLED screen.
  • Added AT!V for fast version info.
  • Added last connection to ATI3.
  • Added connection timer on the OLED screen.
  • Added new command AT*CT to turn on/off the connection timer.
  • Added new command ATDL to dial the last URL:port (for cases where connection is busy).
  • Added new command AT!H for doing a HEX dump of a file stored on the internal filesystem.
  • Complete re-write of the ESP TCP/IP library.  Now uses interrupt driven ping-pong buffers.


---------------------------------------------------------------------------------------------

v4.10 - 06/07/21
  • Fixed issue with emergency reset not resetting entire EEPROM.
  • Fixed issue with some text sizes on OLED being too small.
  • Changed internal filesystem to use one with dynamic wear-leveling to prevent premature wear of the flash memory.  This also increased the speed and available bytes (C64 now has 12128 blocks free instead of 11520).

---------------------------------------------------------------------------------------------

v4.20 - 08/27/21
  • Added support S-Register 30 (S30), which is the inactivety timer.  S30=n*10 seconds, default is now 0 (disabled).  All current WiModem/WiMode232 units have 30 as the default until you reset the factory defaults.
  • Truncated the router name (SSID) shown on the OLED screen.
  • Truncated the incoming and outoging URLs shown on the OLED screen.
  • Optimized OLED screen updates and changed library to allow for core updates.




Users browsing this thread: 1 Guest(s)