chkpib2(1)

✨ chkpib2 β€” Qualcomm Atheros PLC Parameter File Inspector ✨

okay so bestie, meet chkpib2(1) β€” your new fave little inspector from the Qualcomm Atheros Open Powerline Toolkit. She reads parameter files and tells you if they're giving healthy or giving suspicious. πŸ’…


🌸 SYNOPSIS 🌸

chkpib2 [options] file [file] [...]

πŸ¦‹ DESCRIPTION πŸ¦‹

So what does she actually do? She checks Atheros HomePlug AV parameter files for obvious errors, and I mean the classics: obsolete format, wrong file size, bad checksums and read errors. That's it, that's the gig. She makes no attempt to check internal information other than file length and checksum β€” she's not out here reading your file's diary, she's just checking its vibes from the outside. πŸ™ˆ

She handles both the older Thunderbolt and Lightning formats and the newer Panther and Lynx parameter file formats. Periodt.

She validates files directly from memory, which is why she's faster than program chkpib β€” but bestie, that speed comes at a cost: she needs more memory at runtime. Trade-offs, we love them. 😭

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


πŸ’– OPTIONS πŸ’–

  • -m β€” Display manifest content, if present. The manifest is a special module, included in some image chains, that contains useful information about the chain. Heads up though: this option suppresses the summary 'looks good' message. πŸ‘€
  • -q β€” Suppresses printing of progress messages. Quiet queen behavior. 🀫
  • -v β€” Print additional information such as the PIB header for each file processed. This info is lowkey perfect for confirming pib version and telling one PIB file apart from another. πŸ”
  • -?, --help β€” Print program help summary on stdout. This option takes precedence over other options on the command line. She said help first, everything else later.
  • -!, --version β€” Print program version information on stdout. This one also 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. Fr fr, they need to know. πŸ“‹

πŸŽ€ ARGUMENTS πŸŽ€

  • file β€” The name of a runtime parameter file. By convention, runtime parameter files have a .pib extention but this program does not enforce that convention. (Yes, that's spelled "extention" up in here, we don't fix what isn't ours. 😌) So call it whatever you want, she's not gonna gatekeep. πŸ¦‹

πŸ’€ DISCLAIMER πŸ’€

Qualcomm Atheros parameter file structure and content is proprietary to Qualcomm Atheros, Ocala FL USA. Consequently, public information is not available. 😭

Qualcomm Atheros reserves the right to change parameter file structure or content or change the name or behavior of any program that inspects or changes parameter files, in future software releases without any obligation to notify or compensate users of such programs. So like... don't come for them. They warned you. πŸ’€


🌈 EXAMPLES 🌈

The next example reads file abc.pib and validates it. The message shown indicates that the PIB version is recent, the file is the correct size, the checksum is valid computes and there are no read errors. ✨

# chkpib2 abc.pib
abc.pib looks good

The next example reads three files and reports on each one. You can suppress good news with the -q option. Remember that "looking good" does not mean "is good". 🫠 (Not me reminding you that pretty β‰  correct.)

# chkpib2 INT6400.pib AR7400.pib AR7420.pib
INT6400.pib looks good
AR7400.pib looks good
AR7420.pib looks good

The next example reads three files and displays selected information about each one because option -v is present. Look at all that tea. β˜•

# chkpib2 -v INT6400.pib AR7400.pib AR7420.pib
------- INT6400.pib -------
        PIB 4-2 10888 bytes
        MAC 00:B0:52:BA:BE:00
        DAK 68:9F:07:4B:8B:02:75:A2:71:0B:0B:57:79:AD:16:30
(HomePlugAV)
        NMK 50:D3:E4:93:3F:85:5B:70:40:78:4D:F8:15:AA:8D:B7
(HomePlugAV)
        NID B0:F2:E6:95:66:6B:03
        NET Intellon Enabled Network
        MFG Intellon HomePlug AV Device
        USR Intellon Enabled Product
        CCo Auto
        MDU N/A
------- AR7400.pib -------
        PIB 7-1 16352 bytes
        MAC 00:B0:52:00:00:08
        DAK F0:84:B4:E8:F6:06:9F:F1:30:0C:9B:DB:81:23:67:FF
(HomePlugAV0123)
        NMK 50:D3:E4:93:3F:85:5B:70:40:78:4D:F8:15:AA:8D:B7
(HomePlugAV)
        NID B0:F2:E6:95:66:6B:03
        NET Atheros Enabled Network
        MFG Atheros HomePlug AV Device
        USR Intergalactic Software Pirates
        CCo Never
        MDU Slave
------- AR7420.pib -------
        PIB 0-2 10904 bytes
        MAC 00:B0:52:00:00:01
        DAK 68:9F:07:4B:8B:02:75:A2:71:0B:0B:57:79:AD:16:30
(HomePlugAV)
        NMK 50:D3:E4:93:3F:85:5B:70:40:78:4D:F8:15:AA:8D:B7
(HomePlugAV)
        NID B0:F2:E6:95:66:6B:03
        NET Atheros Enabled Network
        MFG Atheros HomePlug AV Device
        USR Atheros Enabled Product
        CCo Auto
        MDU N/A

This example prints the manifest found inside newer parameter files. This can be used to distinguish parameter files from firmware files, determine exact firmware or parameter file revisions and so forth. Observe that we specified several files on the command line but only one file, AR7420.pib, contained a manifest. Iconic. Only one of them showed up with receipts. πŸ’…

# chkpib2 -m INT6400.pib AR7400.pib AR7420.pib
------- AR7420.pib (0) -------
        Signature: 1234ABCD
        Hardware Compatibility: AR74200
        Chain Major Version: 0
        Chain Minor Version: 1
        Chain Type: Parameter Block
        Build Major Version: 0
        Build Minor Version: 0
        Build Type: Special
        Manifest Version: 1
        Build Number: 0
        Build Date: 20110811
        Build Time: 203853
        Device Type: 29728
        Build Hostname: TOR-SW-SIM04
        Build Username: buildbot
        Build Description: Custom
        Build Version String:
AR-7420-FW-0_0-0_2-20110811:203853-buildbot:TOR-SW-SIM04-1-0_1

πŸ‘‘ SEE ALSO πŸ‘‘

chkpib(7), getpib(7), modpib(1), pib2xml(1), pibcomp(1), pibdump(1), setpib(1), xml2pib(1)

Go read the whole friend group, they're all slaying in their own lanes. 🫢


🧚 CREDITS 🧚

  • Charles Maier
  • Nathaniel Houghton

and that's the whole page, bestie!! this gorgeous thing comes to you from open-plc-utils-0.0.3, dated November 2013, and yes she still answers to chkpib2(1) β€” no cap, go validate something. πŸŒŸπŸ’–