Search by job, company or skills

TestCore IT Solutions Pvt. Ltd.

Linux USB Device Driver Developer

new job description bg glownew job description bg glownew job description bg svg
  • Posted a month ago
  • Be among the first 10 applicants
Early Applicant

Job Description

Location: Hyderabad

Exp : 4 years +

Job Description:

We are looking for an experienced Linux USB Device Driver Developer to join our embedded software team. The candidate will work on USB driver development and integration, covering device-side gadget frameworks and core Linux USB architecture.

Key Responsibilities:

  • Understand the fundamentals of USB, including USB 1.1/2.0/3.x specifications, device descriptors (device, config, interface, endpoint), and transfer types (control, bulk, interrupt, isochronous, streams).
  • Handle USB power management, including bus/self-powered modes, suspend/resume, and Link Power Management (LPM).
  • Work with the Linux USB architecture encompassing USB core, enumeration, host controller drivers (EHCI, OHCI, XHCI, DWC3), gadget framework, and USB Device Controllers (UDC).
  • Develop and maintain USB class drivers such as HID, Mass Storage, CDC, Audio, and Video.
  • Develop device-side USB stacks using the Gadget API (usb_gadget, usb_ep), function drivers (g_ether, g_mass_storage, g_hid), and dynamic configurations using ConfigFS.
  • Manage USB endpoint handling, descriptors, and control requests.
  • Write USB device drivers including device tree handling (snps, dwc3), registering UDC drivers, and implementing callbacks (bind, unbind, setup).
  • Handle control requests and USB transfers using usb_ep_queue.
  • Collaborate with other teams to debug and optimize USB functionality.

Mandatory Skills:

  • Strong proficiency in C programming.
  • Good understanding of USB specifications and Linux USB architecture.
  • Experience in writing and debugging Linux USB Device Drivers.
  • Familiarity with Device Tree and Linux kernel development.
  • Knowledge of embedded Linux development tools.

Preferred Skills:

  • Experience with USB gadget framework and class drivers.
  • Exposure to kernel module programming and driver registration.
  • Knowledge of advanced power management features like LPM.
  • Experience with ConfigFS for USB device configuration.
  • Familiarity with debugging embedded USB hardware and software.

Education:

  • Bachelor's/Master's degree in Electronics, Computer Science, or related field.

More Info

Job Type:
Industry:
Employment Type:

Job ID: 130914615