---
name: "ufoma"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/ufoma"
---

# ufoma(4)

USB support for NTT DoCoMo 3G mobile phones

## NAME

**ufoma** – USB support for NTT DoCoMo 3G mobile phones

## SYNOPSIS

**device** **usb** **device** **ucom** **device** **ufoma**

In [loader.conf(5)](/loader.conf/5.md): **ufoma\_load="YES"**

## DESCRIPTION

The **ufoma** driver provides support for USB mobile phone terminals in the subset of the Mobile Computing Promotion Consortium USB Implementation Guideline, which is adopted by FOMA, the NTT DoCoMo 3G system, terminal. These are partly like CDC ACM model based modems, which are supported by [umodem(4)](/umodem/4.md), but the **ufoma** driver recognizes a specific USB descriptor that describes its role and interface structure, and it will negotiate its role when the device is open. They support a regular AT command set and the commands can either be multiplexed with the data stream or handled through separate pipes. In the latter case the AT commands have to be given on a device separate from the data device.

The device is accessed through the [ucom(4)](/ucom/4.md) driver which makes it behave like a [tty(4)](/tty/4.md).

## SYSCTLS

These devices often have a few interface sets and these interfaces have their role, sometimes multiplexed. These roles are identified with the following sysctl MIBs:

- *dev.ucom.%d.supportmode*

  The modes which are supported by the interface.

- *dev.ucom.%d.currentmode*

  Current mode of the interface.

- *dev.ucom.%d.openmode*

  Mode to transit when the device is open next.

The modes are as follows:

- modem

  Accepts AT commands and go and pass packet communication data.

- handsfree

  Accepts AT commands but it does not pass data.

- obex

  Accepts OBEX frame which is used to exchange telephone book, etc.

- vendor1, vendor2

  Vendor specific data may be passed.

- deactivated

  When an interface is recognized by the system but not used, the interface will be set to this mode.

- unlinked

  When an interface is not yet negotiated, the interface is in this mode.

## HARDWARE

The **ufoma** driver supports the following NTT DoCoMo 3G cellular devices:

- SHARP FOMA SH902i

- KYOCERA PHS AH-K3001V (a.k.a Kyopon)

- SANYO Vodafone3G V801SA

## SEE ALSO

Specification can be found at:

-

  *https://www.nttdocomo.co.jp/corporate/technology/document/foma/index.html*

-

  *http://www.mcpc-jp.org/doclist.htm*

[tty(4)](/tty/4.md), [ucom(4)](/ucom/4.md), [umodem(4)](/umodem/4.md), [usb(4)](/usb/4.md)

## HISTORY

The **ufoma** driver appeared in FreeBSD 7.0, partly derived from the [umodem(4)](/umodem/4.md) code.

## BUGS

Interfaces with multiplexed commands and data and interfaces with commands only are supported.
