int6kuart(1)

πŸ’– int6kuart β€” Qualcomm Atheros Serial Line Device Manager πŸ’–

okay bestie, sit down, hydrate, because we're about to talk about int6kuart(1) β€” the Qualcomm Atheros Open Powerline Toolkit's very own serial line device manager. it's giving "I talk to your powerline hardware over a serial port and I make it look easy." πŸ¦‹


✨ SYNOPSIS ✨

int6kuart [options] [...]

🌸 DESCRIPTION 🌸

So what does this actually do? It performs powerline device management operations over a serial line interface. Periodt. πŸ’…

Serial line commands are 7-bit ASCII character strings sent to the local powerline device over the host serial port. You could send them with any terminal emulator you like, no gatekeeping β€” but this program will, in many cases, reduce your typing and simplify your scripting. She's a convenience queen. πŸ‘‘

She's especially useful for downloading device parameters and uploading device parameters or firmware, because those operations involve large volumes of data and nobody wants to hand-type that. Also, this program permits decimal integer arguments in many cases where the serial line commands themselves require hexadecimal integer values. (Yes, she does the math for you. iconic.) See the COMMANDS section below for a list of supported serial line commands. 🧚

This program is part of the Qualcomm Atheros Powerline Toolkit. See the AMP man page for an overview and installation instructions. πŸ“–


πŸŽ€ COMMENTS πŸŽ€

Real talk: this program does not configure or reconfigure host serial port settings by default, because most operating systems have their own serial port configuration utility. Lowkey hands-off, highkey respectful. πŸ™ˆ

Be sure to configure host serial port settings before using this program, because other programs may change them before or after use. Not a drill, bestie. 😭

Atheros factory default settings for UART-enabled powerline devices are 115200 baud, 8 data bits, 1 stop bit, no parity and no flow control. See option -b for a quick way to match host serial port settings to the Qualcomm Atheros default settings. 🫢

πŸ–₯️ On Windows

Use the DOS mode command. The general form of this command is mode,baud,parity,databits,stopbits. The following example will set a Windows host to the default serial settings used by Atheros powerline devices.

# mode com3:115200,n,8,1

🐧 On Linux

Use the stty utility to inspect and set serial port parameters. The following Linux command will configure serial device /dev/ttyS0 speed to 115200 baud with 8 data bits, 1 stop bit, no parity bit and no flow control. Consult the stty man page for an explanation of these and other options.

# stty -F /dev/ttyS0 115200 cs8 cstopb -parenb -ixon

On Linux, you can also use the minicom terminal emulator to communicate using the underlying serial line commands described in the COMMANDS section. The minicom program reads default settings from configuration file /etc/minicom/minirc.dfl if present on startup. A basic configuration file looks like this:

pu port             /dev/ttyUSB0
pu baudrate         115200
pu bits             8
pu parity           N
pu stopbits         1
pu rtscts           No

πŸ’… OPTIONS πŸ’…

one bullet per flag, no skipping, no summarising, we eat the whole menu. πŸ“

  • -b β€” Set host serial port to the default settings mentioned above. The original host serial port settings are not restored when the program terminates. You must restore them manually or by other means. Changing host serial port settings will break serial communications with the local powerline device if the device is not using the same settings. ⚠️
  • -c command β€” Send a custom serial line command to the local powerline device over the host serial interface. Argument command is sent as specified but will be terminated with a carriage return. The command must be enclosed in quotes if it contains spaces or special characters. This option can be used to send serial line commands that are not supported by this program. (For the DIY girlies. πŸ’œ)
  • -C module β€” Commit downloaded parameters and/or firmware to NVM using the ATWNV serial line command. Argument module is one hexadecimal octet. The low-order nibble contains the module number. The high-order nibble contains optional control bits. Acceptable module values are 0x01=Firmware, 0x02=Parameters, 0x10=Force Flash and 0x20=Do Not Reboot. The default value is 0x00 which has no effect. The 0x prefix is optional. ✨
  • -d β€” Read and display the destination device address using the ATDST serial line command. This option is similar to option -D but substitutes ? for the device address. πŸ”
  • -D address β€” Set the destination device address for Transparent Mode using the ATDST serial line command. This address will supercede the default destination device address, stored in the PIB, until the device is reset. Multicast address values are not permitted by the device. Argument address is six hexadecimal octets optionally separated by colons.
  • -F filename β€” Read the named frame description file and send it over powerline as an Atheros vendor-specific management message using the ATM serial line command. Unlike program efsu, only the first file frame is sent. Any subsequent frames defined in the file are ignored. 🎯
  • -H β€” Exit Command Mode and enter High Speed Command Mode using the ATHSC serial line command. vroom vroom. πŸ”₯
  • -i β€” Get and display network information using the ATNI serial line command. The information includes the TEI, MAC address, receive rate and transmit rate for each remote device on the network. 🌈
  • -I β€” Get and display the PIB version and device MAC address using the ATRPM serial line command.
  • -m β€” Read and display the Network Membership Key of the local powerline device using the ATSK serial line command. This option is similar to option -M but substitutes ? for the membership key. πŸ—οΈ
  • -M key β€” Set the Network Membership Key of the local powerline device using the ATSK serial line command. The key consists of 16 hexadecimal octets optionally separated by colons.
  • -N filename β€” Open the named firmware file on the local host and write it to the local device using multiple ATWPF serial line commands. There is no default filename or extension. The file is assumed to contain a valid firmware image. πŸ‘‘
  • -O β€” Exit Command Mode and enter Transparent Mode using the ATO serial line command. Subsequent serial data will be transmitted over the powerline to the destination device address as raw data. Use option -d to set the destination device address. 🫢
  • -p filename β€” Read the parameter block from the local powerline device and write it to the named file on the local host using multiple ATRP serial line commands. Required length and offset values are automatically computed for each serial line command sent. There is no default filename or extension.
  • -P filename β€” Open the parameter file on the local host and write it to the local powerline device using multiple ATWPF serial line commands. Required length and offset values are automatically computed for each serial line command sent. There is no default filename or extension. The named file is assumed to contain a valid parameter block.
  • -q β€” Suppress progress and error information on stderr. 🀫 (silence is golden, bestie.)
  • -r β€” Read and display the local powerline device hardware identifier and firmware version string using the ATRV serial line command.
  • -R β€” Reset the local device using the ATZ serial line command. πŸ’€ (fresh start energy.)
  • -s tty β€” Communicate with the local powerline device over the named serial interface on the local host. The program default is "/dev/ttyUSB0" for Linux and "com1:" for Windows. The program default is replaced if environment variable PLCUART is defined. This option over-rides those default settings. πŸŽ€
  • -S β€” Place the local power line device in Power Save Mode using the ATPS serial line command. nap time, she deserves it. 😴
  • -t β€” Test device using the AT serial line command. The device will respond with "OK" when in Command Mode. βœ…
  • -T β€” Restore factory defaults on the local power line device using the ATFD serial line command. Among other things, this will restore the destination device address stored in the factory PIB. Any destination device address previously set using option -d will be lost. 😭
  • -u β€” Force default host port settings to match the default setting for UART-enabled Atheros powerline devices. The setting are 115200 baud, 8 data bits, no parity bits and 1 stop bit. These settings will remain active when the program terminates and will not change unless changed by some other means, perhaps by another application. This option is an easy means of establishg an initial serial connection with a powerline device, unless it's settings have been changed. 🌟
  • -v β€” Display actual serial line commands and responses on stdout. πŸ‘€ (we love a transparent queen.)
  • -w β€” Place the local powerline device in Command Mode using the +++ serial line command. The device will remain in command mode until it is reset or forced into Transparaent Mode or High Speed Command Mode.
  • -W timeout β€” Set the Transparent Mode aggregation timeout using the ATTO serial line command. The timeout is expressed in decimal milliseconds. Valid values are 1 through 2000. ⏱️
  • -z β€” Get the Transparent Mode buffer size using the ATBSZ serial line command. This option is similar to option -B but substitutes ? for the buffer size. πŸ”Ž
  • -Z size β€” Set the Transparent Mode buffer size using the ATBSZ serial line command. The size in bytes is specified in decimal here and converted to hexadecimal for transmission. Valid values range from 46 to 1500. The default is 500 bytes. πŸ’–
  • -?, --help β€” Print program help summary on stdout. This option takes precedence over other options on the command line. πŸ†˜
  • -!, --version β€” Print program version information on stdout. This option takes precedence over other options on the command line. Use this option when sending screen dumps to Atheros Technical Support so that they know exactly which version of the Linux Toolkit you are using. πŸ“Έ

🌈 ARGUMENTS 🌈

None.

literally none. she takes no positional arguments, only vibes and options. πŸ¦‹

πŸ’– COMMANDS πŸ’–

okay bestie so this whole section is the list of serial line commands that your local powerline devices actually understand when they're chilling in Command Mode. ✨

you can send these interactively with a terminal emulator β€” think minicom on Linux or HyperTerminal on Windows β€” or you can save them as text and copy them over to the serial port using system utilities, like cat on Linux or type on Windows.

and here's the tea πŸ“: this program literally just converts the command line options and arguments described above into one or more of the serial line commands below. that's it. that's the job. no cap.


  • +++ β€” Exit Transparent Mode and slide into Command Mode. πŸ‘‘ See option -w above.
  • AT β€” Test for Command Mode by doing absolutely nothing, and doing it successfully (iconic behavior honestly). See option -t above.
  • ATBRmode,baudrate,databits,parity,stopbits,flowctrl β€” Set the serial line parameters on the local powerline device. πŸŽ€ careful though: this will break the existing serial connection if the new parameters differ from the ones your local host is using. so like, be ready for that.
  • ATBSZ? β€” Get the Transparent Mode buffer size. See option -z above.
  • ATBSZsize β€” Set the Transparent Mode buffer size. See option -Z above.
  • ATDST? β€” Get the Transparent Mode destination device address. See option -d above.
  • ATDSTaddress β€” Set the Transparent Mode destination device address. See option -D above.
  • ATFD β€” Reset the local device to factory defaults. 🧚 See option -T above.
  • ATHSC β€” Exit Command Mode and enter High Speed Command Mode. once you get the OK response back, the local host should send commands to the device at successively higher speeds until it gets a valid response. keep climbing, bestie πŸ’…
  • ATMmessage β€” Send an Atheros vendor-specific management message over powerline. the message is written as a series of hexadecimal digits.
  • ATNI? β€” Read network information and store it internally. it returns the number of associated stations plus info about the first associated station. that info includes the peer station device address, TX rate and RX rate. 🌈
  • ATNIstation β€” Extract and display previously stored network information for a specific peer station. what comes back is whatever got stored earlier by an ATNI serial line command query.
  • ATO β€” Exit Command Mode and enter Transparent Mode. for this switch to actually succeed you need a valid destination MAC address, a buffer size, and an aggregation timeout value. use the serial line commands ATDST and ATBSZ to get and/or set the first two, and ATTO to set the timeout value.
  • ATPStime β€” Put the device into Power Save Mode for a specified time in seconds. valid values are 1 to 384 seconds. the default time is A seconds. πŸ’€
  • ATRPlength,offset β€” Read and display a parameter block segment, where length is the number of bytes read and offset is the relative position, in bytes, from the start of the parameter block. valid length values are 0 through 400 hexadecimal. see option -p above if you want to read and save an entire parameter block instead.
  • ATRPM β€” Get the PIB version and device MAC address.
  • ATRV β€” Get the hardware and firmware revision. See option -r above.
  • ATSK? β€” Get the device Network Membership Key. See option -m above.
  • ATSKkey β€” Set the device Network Membership Key. See option -M above.
  • ATTO? β€” Get the Transparent Mode aggregation timeout in milliseconds.
  • ATTOtimeout β€” Set the Transparent Mode aggregation timeout in milliseconds. See option -W above.
  • ATWNVmodule β€” Update NVM with the PIB and/or Firmware module. See option -C above.
  • ATWPFmodule,length,offset,checksum,data β€” Write a parameter block or firmware segment to the local powerline device, where module is the module identifier, length is the number of bytes to write, offset is the relative position from the start of the module, checksum is the 1's complement of the data, and data is the data to be written. valid module identifiers are 1=FW and 2=PIB. valid length values are 0 up to 400 hexadecimal. see options -N and -P above if you wanna write an entire parameter block or firmware image. πŸ”₯
  • ATZ β€” Reset device. See option -R above.

πŸ“š REFERENCES πŸ“š

if you want more, go read the Qualcomm Atheros HomePlug AV Firmware Technical Reference Manual. it's giving required reading, iykyk. πŸ¦‹


⚠️ DISCLAIMER ⚠️

the Atheros serial line commands are proprietary to Qualcomm Atheros, Ocala FL USA. and because of that, public information about them is just… not available. πŸ™ˆ

Qualcomm Atheros also reserves the right to modify the command line syntax or the command functionality in future firmware releases β€” with no obligation to notify anyone, and no obligation to compensate product or program users. so yeah, they can just do that. not a drill.


🌸 EXAMPLES 🌸

okay so the first example puts the device in Command Mode (a.k.a. the wakeup). serial line commands get ignored unless the device is in this mode, so this is usually the very first command you send. πŸ’…

# int6kuart -w

next up: setting the destination device address on the local powerline device to 00B052BABE12. the destination device can be any remote powerline device on the same logical network as the local device. ✨

# int6kuart -D 00:B0:52:BA:BE:12

then we've got Transparent Mode, where serial line output gets sent over powerline to the destination powerline device and forwarded on to the remote host connected to it. 🌈

# int6kuart -O

and last one β€” sending the serial line command "ATSK?" to the local powerline device. πŸŽ€

# int6kuart -c "ATSK?"

πŸ‘€ SEE ALSO πŸ‘€


πŸ‘‘ CREDITS πŸ‘‘

Charles Maier


that's the whole page bestie, you ate it up πŸ’… this was open-plc-utils-0.0.3, dated November 2013, and you've been reading int6kuart(1). go forth and powerline 🫢✨