CBMSTUFF FORUM

Full Version: WiModem232 History
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
To update the firmware of your WiModem232, connect to the internet via your router, launch a terminal program and type:

AT*UPDATE<RETURN>

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

Note: With pre-v2.00 firmware, the update command was originally ATUPDATE.  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.

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

v4.30 - 03/11/22
  • Updated libraries to latest core version to fix 802.11n (only) connections.
  • Fixed issue with baud rate not showing immediately when changed on OLED.
  • Update copyright date.

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

v4.31 - 04/09/22
  • Went back to original stable Espresif core.  Use AT&F if you have issues after
  • this update.

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

v4.40 - 04/17/22
  • Found upper level TCP stack issue causing exception (29) on rapid outgoing packets.
  • Reduced TCP packet delay period to help with file transfer protocol latency.

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

v4.50 - 10/25/22
  • Fixed issue with not saving S-Register S30's value with AT&W.
  • Added support for S-register S73.  This provides a maximum connection time.  Value (1 to 255) is the number of minutes before disconnection.  0 is OFF.  Ignores serial activity and disconnects when period expires.

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

v5.00 - 11/07/22
  • Updated to latest Espressif core.
  • Fixed improper size variables for transfer buffers which was limiting buffers to just 256 bytes, causing data loss when packets > 256 bytes occurred.
  • Increased server side buffer limit (AT*BLxxxx) to be up to 8192 bytes.
  • Changed buffer limit (AT*BLxxxx) default to 1024 from the previous 512.
  • Added progress information for firmware updates.
  • Added support for an "off hook" messsage using AT*OFFHOOK, with the syntax the same as the
  • AT*BUSY option.  Using ATH1 will put the modem into off hook mode, which is commonly used to ignore calls while doing BBS maintenance.  If off hook mode is enabled and the OFFHOOK string is set to some text, then that string will be sent when any connection attmempt occurs.  If the string is NULL, then no message is sent.
  • Added showing OFF HOOK as the SSID on the OLED screen when off hook (ATH1) is enabled.
  • Added new AT*WIFI command to allow setting up your router connection using a mobile device. After sending the AT*WIFI command, go to your mobile device's WiFi setup and select "WiModem".  You can either setup the SSID and password manually, or select a SSID from a list, and enter the password.
  • Added max string length check for BUSY string (was not done previously).
  • Increased command buffer length to accomodate full length of BUSY and OFF HOOK messages (80 characters).
  • Added new AT*MODE command to change the operating mode of the WiModem/232.  AT*MODE0 is the default, and it is the normal operating mode.  AT*MODE1 tuns off the WiFi module, reducing power to a fraction of the normal current requirement.  Saving (AT&W) with the mode set to 1 (AT*MODE1) will result in the WiModem powering on with the WiFi disabled.  This eliminates any possible 'noise' for those using monitor cables that do not ground the audio input line.
  • Added back in the AT*REBOOT function.  This will cause a power cycle of the WiModem.
  • Enabled compiler optimizations to force unrolling transfer loops.
  • Added ability to use AT&V or AT&V0 to show current main settings, and AT&V1 to show BUSY and OFFHOOK strings.
  • Corrected some AT*HELP and AT*HELP! information.

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

v5.10 - 11/13/22
  • Fixed issue with phone book display of long strings.
  • Fixed issue with only the baud rate, not the serial parameters (8N1, 8E2, etc.) being used on power up.
  • Extended phone book to 25 entries (this could be up to 100 if needed).
  • Added a new command (ATI5) to show the IP addresses of the last 10 callers (this could be up 100 if needed).

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

v5.11 - 11/15/22
  • Added support for Telnet DON'T function.
  • Added new command (AT*TIME) to show the current date/time.
  • Added new command (AT*UTC) to set the current time zone.
  • Added time stamp (UTC) to IP caller log.
  • Increased IP caller log to 20 entries.
  • Reduced phone book to 20 entries.

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

v6.00 - 03/05/23
  • Updated to the latest Espressif core.
  • Added support for several new Telnet commands.
  • ALL NEW TCP <> serial transfer code!
  • Reduced maximum transfer buffer to 4096 and switched to using multiple buffers.
  • Added info to ATI3 to show if the buffer limit is exceeded (BL setting too small).
  • Fixed issue with ATI3 not showing the total bytes transmitted correctly.
  • Added ByteThreshold function.
  • Added HoldOffDelay function.
  • Added all new NULL modem cable emulation option using two WiModem/WiModem232 units!
  • Added new command AT*OLED to automatically turn off the OLED after so many seconds.

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

v6.01 - 03/23/23
  • Fixed issue with OFFHOOK message not being reloaded on reset or ATZ.

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

v6.10 - 05/21/23
  • Fixed problem with DCD not being set when connection occurs from an outgoing call.
  • Fixed problem with loading EEPROM (booting or using 'ATZ') deleting phonebook entries 10 through 19.
  • Fixed transfer loop!  Now up to 30% faster transfers when Telnet translation is off and up to 120% faster when Telnet translation is on!

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

v6.20 - 06/03/23
  • Changed maximum banned entries to 20.
  • Added command AT&FB to clear the banned connections list.
  • Changed AT*OLED command to AT*SLEEP, which now also turns off/on the LED with the display, based on the sleep time setting.