Member Login Log In | Not a Member? Contact ADC
Jump To:
Reference Library: Hardware & Drivers
USB is a cross-platform peripheral standard that offers many benefits, such as expandability, autoconfiguration, hot plugging, and good performance. Typical USB devices include keyboards, mice, joysticks, game pads, and other low-cost devices. Developers can use I/O Kit APIs to create both in-kernel and application-level drivers for USB devices and interfaces.

Document Descriptions
On Off
Display

Sort by
Title
Sort by
Resource Type
Sorted by
Date
I/O Kit Framework Reference (HTML)
Describes the I/O Kit classes that support non-kernel access to I/O Kit objects through the device-interface mechanism.
Reference 2008-04-08
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Reference 2008-04-08
Universal Serial Bus Developer Note (HTML)
Provides an overview of Universal Serial Bus (USB) and describes support for it on Mac computers.
Guides 2008-02-27
CCL Modem Scripting Release Notes (HTML)
Explains changes to modem CCLs for Mac OS X v10.5 and what to do to change existing and supersede older scripts.
Release Note 2007-10-31
USB Device Interface Guide (HTML) (PDF)
Provides background information and sample code for developing applications to communicate with or control USB devices and interfaces.
Guides 2007-09-04
Checkout Lets You 'Get a Mac, Start a Store': Madebysofa Does It with Python and Cocoa (HTML)
Success story on how Mac-only Checkout was built using Python and Cocoa.
Articles 2007-07-10
CustomMediaIcons (HTML) (DMG) (ZIP)
Providing custom media icons for storage
Sample Code 2007-07-10
CCL Modem Scripting Guide (HTML) (PDF)
Guides 2007-06-28
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
Technical Q&A 2007-02-28
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Technical Note 2006-11-10
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Sample Code 2006-10-16
VendorSpecificType00 (HTML) (DMG) (ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
Sample Code 2006-10-02
Building Customized User Client Drivers for USB Devices (HTML)
Learn how to write the setup code for card readers, bill validators, and other devices.
Articles 2006-06-26
Common QA and Roadmap for USB Software Development on Mac OS X (HTML)
QA1370: Roadmap for development of USB Software on Mac OS X and some Common Questions and Answers
Technical Q&A 2006-02-28
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Technical Q&A 2006-02-22
Sending SCSI or ATA commands to storage devices (HTML) (日本語 HTML)
QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices.
Technical Q&A 2005-05-10
SampleUSBAudioPlugin (HTML) (DMG) (ZIP)
USB audio plugin that performs a lowpass filtering operation on audio streamed through an audio USB Device.
Sample Code 2005-03-07
Installing smart card reader drivers (HTML)
QA1359: Updates obsolete information contained in the pcscd(8) man page on Mac OS X Jaguar and Panther.
Technical Q&A 2004-08-30
Generating an NMI Without a Programmer's Switch (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
Technical Q&A 2004-04-26
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
Technical Q&A 2004-01-15
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
Technical Q&A 2003-10-28
SDRAM Problems With Self-Powered USB Devices (HTML) (日本語 HTML)
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
Technical Q&A 2003-08-21
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Technical Note 2002-11-11
Mapping kernel memory to user space on Mac OS X 10.2 (HTML) (日本語 HTML)
QA1197: Describes a change to mapping kernel memory to user space affecting Mac OS X 10.2 and later.
Technical Q&A 2002-09-13
SCSIAction and IOSCSIUserClient on Mac OS X 10.2 (HTML) (日本語 HTML)
QA1201: Describes migrating to a new API for SCSI Parallel devices starting with Mac OS X 10.2.
Technical Q&A 2002-09-13
Retain Counts of io_object_t Objects in IOKit.framework (HTML) (日本語 HTML)
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Technical Q&A 2002-09-04
IODeviceTree & the IORegistry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X IORegistry.
Technical Q&A 2002-02-13
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Technical Q&A 2002-02-13
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
Technical Q&A 2002-02-07
User-Mode USB Device Arbitration (HTML)
Information about using USB device arbitration, available in Mac OS X version 10.1 and later.
Guides 2002-02-06
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Technical Q&A 2002-01-15
Adding dependencies with kmodload (HTML)
QA1097: Illustrates how to specify dependencies when using kmodload.
Technical Q&A 2001-12-05
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
Technical Q&A 2001-12-05
Tips on USB driver matching for Mac OS X (HTML)
QA1076: Gives some tips on getting USB driver matching to work.
Technical Q&A 2001-10-02
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Technical Q&A 2001-06-13
Open Firmware and the devalias node (HTML)
HW95: Open Firmware and the devalias node
Technical Q&A 2000-09-05
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
Technical Q&A 1999-11-15
Sample code for allocating an amount of dictionary space (HTML)
HW71: Discusses the allocation and the setting of memory for Dictionary space in Open Firmware.
Technical Q&A 1999-10-11
What is the "dump" word and how do I use it? (HTML)
HW68: Describes the function of the Open Firmware word "dump" and how it can be used.
Technical Q&A 1999-10-11
What numeric base is the default for the Open Firmware user interface? (HTML)
HW65: Describes how the default numeric base used by the Open Firmware user interface is hexadecimal.
Technical Q&A 1999-10-11
Determining Open Firmware configuration variables (HTML) (日本語 HTML)
HW56: Discusses how to determine the Open Firmware variables on a system.
Technical Q&A 1999-03-29
Expansion ROM device properties (HTML) (日本語 HTML)
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
Technical Q&A 1999-03-29
Why did the name of the PCI bridge change? (HTML) (日本語 HTML)
HW59: Explains the name change of the PCI bridge to the generic name "pci" in Open Firmware.
Technical Q&A 1999-03-29
Are interrupts enabled while Open Firmware is running? (HTML) (日本語 HTML)
HW44: Explains that interrupts are disabled when Open Firmware is running.
Technical Q&A 1999-02-15
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Technical Q&A 1999-02-15
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
Technical Q&A 1999-02-15
PCI Type 1 Cycles (HTML)
HW26: Describes the circumstances when the PowerMac generates a Configuration Type 1 command.
Technical Q&A 1995-07-15