UKYOPON(4)

πŸ“¦ version 11.0, in nixpkgs unstable

πŸŽ€ UKYOPON(4) πŸŽ€

okay so bestie, welcome to the Kernel Interfaces Manual, section 4, where the main character is ukyopon β€” the Kyocera AIR-EDGE PHONE support driver. this is giving β€œmy phone has lore” energy and we are here for it πŸ’…βœ¨


πŸ’– NAME πŸ’–

ukyopon β€” Kyocera AIR-EDGE PHONE support. periodt.

✨ SYNOPSIS ✨

okay so here's the config vibe, literally:

ukyopon* at uhub?
ucom*    at ukyopon? portno ?

#include <dev/usb/ukyopon.h>

πŸ¦‹ DESCRIPTION πŸ¦‹

The ukyopon driver provides support for the Kyocera AIR-EDGE PHONE AH-K3001V. no cap, that exact model.

Two units of this driver attach to an AIR-EDGE PHONE: the modem port and the data transfer port. The modem port is compatible to umodem(4), and can be used for dialup connections. The data transfer port is for reading and writing internal storage of AIR-EDGE PHONE. slay.

Both devices are accessed through the ucom(4) driver which makes them behave like a tty(4). iconic.

The manipulation of the internal storage is through external programs, for example, the pkgsrc/comms/kyopon package. iykyk.

🌸 IOCTLS 🌸

The following ioctl(2) calls apply to the ukyopon device:

  • UKYOPON_IDENTIFY struct ukyopon_identify β€” read, from the kernel, the identification information of the device. this is useful to assure that the opened device node is a modem or a data transfer port of ukyopon device. bestie, it's literally a vibe check for your file descriptor.
struct ukyopon_identify {
        char    ui_name[16];            /* driver name */

        int     ui_busno;               /* usb bus number */
        uint8_t ui_address;             /* device address */

        enum ukyopon_model {
                UKYOPON_MODEL_UNKNOWN
        } ui_model;                     /* possibly future use */
        enum ukyopon_port {
                UKYOPON_PORT_UNKNOWN,
                UKYOPON_PORT_MODEM,     /* modem port */
                UKYOPON_PORT_DATA       /* data transfer port */
        } ui_porttype;                  /* port type */
        int     ui_rsvd1, ui_rsvd2;
};
#define UKYOPON_NAME            "ukyopon"

The ui_name field contains the driver signature, and has the string UKYOPON_NAME. so yes, the name is in the name, very on brand.

The ui_busno field contains the usb(4) bus number to which the device is connected; the ui_address field contains the address of the device in the bus. These fields are useful to identify the physical device from the file descriptor. lowkey detective work.

The ui_porttype field contains the type of device: UKYOPON_PORT_MODEM means the device is associated to the modem port, and UKYOPON_PORT_DATA means the device is associated to the data transfer port. iconic port labels, honestly.

Other fields are reserved for future extension and cleared to zeros. not me peeking at reserved fields, they're literally zeros.

In addition, ukyopon devices accept all ioctl(2) calls that umodem(4) accepts. so the compatibility is giving.

🌈 SEE ALSO 🌈

go check these cuties out:

⭐ HISTORY ⭐

The ukyopon driver appeared in NetBSD 3.0. a whole era, honestly.

πŸŽ€ NOTES πŸŽ€

β€œKyopon” is a widely-used nickname of Kyocera AIR-EDGE PHONE. cute, concise, canon. ate.


that's the whole page, bestie 🫢 big love and bye πŸ’– β€” this one came from the Debian version of UKYOPON(4), dated May 18, 2005.

πŸ“¦ where this page comes from