docs: def supportedCommands(self):
          """ :return: list of AT commands supported by this modem (without the AT prefix). Returns None if not known """
          try:
              # AT+CLAC responses differ between modems. Most respond with +CLAC: and then a comma-separated list of commands
              # while others simply return each command on a new line, with no +CLAC: prefix
              response = self.write('AT+CLAC')
              if len(response) == 2: # Single-line response, comma separated
                  commands = response[0]
                  if commands.startswith('+CLAC'):
                      commands = commands[6:] # remove the +CLAC: prefix before splitting
                  return commands.split(',')
              elif len(response) > 2: # Multi-line response
                  return [cmd.strip() for cmd in response[:-1]]
              else:
                  self.log.debug('Unhandled +CLAC response: {0}'.format(response))
                  return None
          except CommandError:
              return None