firewire-phy-command(8)

πŸ“¦
version 0.5.1 Β· 2 versions
, in debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– firewire-phy-command β€” the lowkey FireWire bus & PHY glow-up tool πŸ’–

okay bestie, so this is firewire-phy-command from the linux-firewire-utils collection, section 8 of the manual. it's the utility that lets you poke at low-level FireWire bus and PHY configuration. yes, we're going deep. bring a snack. πŸ“


✨ NAME ✨

firewire-phy-command β€” low-level FireWire bus and PHY configuration, no cap πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

firewire-phy-command [options] command [parameters]

πŸ‘‘ DESCRIPTION πŸ‘‘

so firewire-phy-command is a utility to set low-level configuration parameters and to manage port power saving. that's the whole vibe. πŸ’…

in the following commands, numbers must be specified in decimal, or in hexadecimal with a 0x prefix. don't get cute with it, the parser is not your therapist. πŸ™ˆ

node is either the device file (/dev/fw*) of the node that is to be accessed, or the node number. both slay, pick whichever you vibe with.

the following commands are available:


πŸ”₯ the commands πŸ”₯

config β€” set the root & gap count, main character energy

firewire-phy-command config [root node] [gapcount gapcount]

the root parameter specifies the node that is forced to become the next root node. it's giving "you're the leader now, bestie". πŸ‘‘

the gapcount parameter specifies a timing parameter used to optimize performance. this must be derived from the actual worst-case round-trip delay between any two nodes. like, actually derived, not guessed. fr fr.

at least one of root or gapcount must be specified. not optional, not vibes-based.

⚠️ the configuration changes take effect after the next bus reset, which must be issued immediately after this command; see the reset command below. do NOT forget the reset or your changes are just sitting there doing nothing. πŸ’€

ping β€” say hi, get the self ID back

firewire-phy-command ping node

send a ping packet to node node, and print node's answer (its self ID) together with the round-trip time. it's basically a "u up?" text but for hardware and it always replies. iconic. ✨


read β€” read a PHY register

firewire-phy-command read node [page port] register

read a PHY register on node node and print the register value.

registers 0 to 7 are global; registers 8 to 15 are paged and require both a page number and a port number. so if you're in the 8–15 zone, bring the whole squad. 🫢


nop, disable, enable, suspend, resume, clear β€” the port remote-command girlies

firewire-phy-command nop node port
firewire-phy-command disable node port
firewire-phy-command enable node port
firewire-phy-command suspend node port
firewire-phy-command resume node port
firewire-phy-command clear node port

send a remote command packet to port port of node node, and print the new port status. here's what each one actually does:

  • nop β€” do nothing, just return the status. this can be used to read the port status, or to check whether a port exists. the "just checking in" of commands. πŸ¦‹
  • disable β€” disable the port and its connected peer port. this is the equivalent of breaking the connection between the port and the cable. dramatic breakup energy, but make it physical. πŸ’”
  • enable β€” re-enable a disabled port. we're getting back together. πŸ₯°
  • suspend β€” suspend the connection between the port and its peer port, and recursively suspend all other active ports on the peer port's node. it cascades, bestie. it recurses. 😭
  • resume β€” resume the port and all other ports in the suspended domain. the whole domain wakes up, no stragglers. ⭐
  • clear β€” clear the port's fault status bit(s). if a port entered the suspended state in a faulted condition because its peer port did not suspend correctly, clearing the fault is required after the resume to continue normal operation. so like, the resume alone is not enough here. you NEED the clear. no skipping steps. πŸ’…

resume β€” the broadcast one

firewire-phy-command resume

broadcast a resume packet to all ports on the bus. everybody up, we're going. 🌈


linkon β€” wake up babe

firewire-phy-command linkon node

send a link-on packet, which instructs node node to switch on, i.e., to come out of powersaving mode. it's the hardware equivalent of turning the lights on at 3pm. β˜€οΈ


reset β€” the bus reset

firewire-phy-command reset

issue a bus reset. simple. powerful. necessary after config, as we said above. periodt. πŸ”₯


πŸ’… OPTIONS πŸ’…

  • -b, --bus=node β€” if there are multiple FireWire buses, i.e., if the computer has multiple FireWire controllers, this option specifies on which bus the command is sent. node must be the device file of the controller, or the controller's card number. this option is not needed if a command's node parameter specifies a device node, as that parameter already implies the bus to use. so like, don't double-specify, that's cringe. πŸ™ˆ
  • -h, --help β€” print a summary of the command-line options and exit. the classic "what does anything do" button. πŸŽ€
  • -V, --version β€” print the version number of firewire-phy-command on the standard output and exit. iykyk. πŸ‘‘

🌸 NOTES 🌸

this program needs to access all FireWire device files, which usually requires root privileges. so yes, sudo is your bestie here. 🫢


πŸ’€ BUGS πŸ’€

report bugs to <linux1394-devel@sourceforge.net>.

linux-firewire-utils home page: <https://git.kernel.org/pub/scm/utils/ieee1394/linux-firewire-utils.git/>.

(go off, tell them everything, they want to hear it. πŸ›)


🧚 SEE ALSO 🧚

lsfirewirephy(8), firewire-request(8)


and that's the whole page, bestie!! this one's from linux-firewire-utils, dated 5 Jun 2011 β€” yes she's vintage, and yes she still ate. πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈ