Craig Nadler
Nadler Consulting Services, Inc.
Nashua, New Hampshire, U.S.A.
Phone Number: 1-(603)-578-9026
mailto:craig@nadler.us
SUMMARY:
The main focus of my work for the past 13 years has been in Linux, device drivers, and embedded software. My specialty is USB in embedded systems, this includes software stacks, controller drivers, and debugging.
TECHNOLOGIES:
Programming Languages: C/C++ JAVA TCL/TK BASH
Operating Systems: Linux ThreadX MS-Windows
Hardware Architectures: PowerPC 68K/Coldfire X86 ARC MIPS Microchip PIC
Revision Control Systems: CVS RCS Perforce
Bug Tracking Systems: Gnats Bugzilla
IO Interfaces: USB IEEE-1284 RS-232 RS-422
USB Analyzers: CATC Catalyst Beagle
EXPERIENCE:
2006-Present
Nadler Consulting Services, Inc., Nashua, NH
Clients: 3M, RSA / EMC, Motorola, L&L Engineering, DegreeC, @Road, Sigmatel
- Developed an automated test system for verifying new firmware revisions in Touch Screen controllers.
- Used the National Instruments LabWindows/CVI tools to develop the project.
- Developed a User Interface to be intuitive and easily modified for future extensions.
- Developed a configurable test frame work to be easily modified for future extensions.
- Developed a state machine to verify the USB traffic between the host PC and the controller.
- Evaluated the USB part of an automated/robotic testing system for USB devices.
- Identified problems with the system and found a solution.
- Wrote a detailed test report with recommendations on how to proceed.
- Developed an updated build system for video-on-demand server based on Wind River Linux.
- Evaluated Wind River Linux versions 1.4, 1.5, and 2.0beta.
- Ported Linux drivers from 2.4 to 2.6.
- Ported a Linux pmppc440 board support package from 2.6.10 to 2.6.14.
- Documented the updated build system.
- Evaluated a 36-port USB hub, USB temperature/airflow sensors, and host software.
- Found a problem with the transaction translators in the 36-port USB hub.
- Evaluated an alternative hi-speed USB hub chip for the 36-port hub.
- Wrote a detailed test report with recommendations on how to proceed.
- Modified the firmware on a PIC to appear as a Communications Class device on USB.
- Debugged the USB Communications Class device on Windows XP.
- Debugged problems with a USB OHCI controller on a prototype GPS receiver board.
- Back ported the USB host stack from Linux 2.4.28 to 2.4.25.
- Worked with hardware engineers to resolve board design problems.
- Worked with hardware vendors to resolve problems with their Linux drivers.
- Designed and implemented a stack to operate the USB host ports on a printer controller.
- Designed and implemented a USB host stack.
- Designed and implemented a low level USB host controller driver.
- Designed and implemented a hub class driver.
- Added support for USB Interface Association Descriptors to the Linux kernel.
- Added a USB Peripheral Class driver for the printer class to the Linux kernel.
- Developed a patch to add support for the USB Hi-Speed Host Electrical Tests in Linux.
2004-2005
TransDimension Inc. / ARC International Inc., Nashua, NH
Senior Software Engineer
- Developed software for USB host, peripheral, and OTG controllers.
- Worked with the Linux EHCI maintainer on code changes in the Linux kernel.
- Submitted code changes that were merged into the Linux kernel.
- Worked with hardware designers to identify and fix bugs.
1997-2003
Motorola Inc., / WaveMark Technologies, Inc. Burlington, MA
Software Engineer
- Developed firmware for embedded printer controllers.
- Developed several USB and IEEE-1284 peripheral controller drivers.
- Developed firmware to verify the USB and IEEE-1284 ports on embedded controllers.
- Checked USB and IEEE-1284 bus traffic for compliance to published standards.
- Added DMA support to a PIO based IDE driver.
- Worked with hardware designers to identify and fix bugs.
- Handled PC and network administration for an office of 20 people.
1996-1997
AutoLogic Information International Inc., Burlington, MA
Software Engineer
- Developed software for the newspaper pre-press industry.
- Used C/C++ on Solaris, SunOS, and Linux.
- Supported field engineers installing systems at customer sites.
1995-1996
C-Grams Inc., Kingston, NH
Software Engineer
- Developed monitor and control systems for satellite ground stations.
- Used C on SCO UNIX, Linux, and LynxOS.
- Dealt with RS-232 and multi drop RS-422 communication.
EDUCATION:
SUNY Institute of Technology at Utica/Rome Utica, NY 1993 – 1994
Bachelor of Science, Computer Information Systems, Dec. 1994
Hudson Valley Community College Troy, NY 1991 – 1993
A.A.S., Computer Information Systems, May 1993
MILITARY:
New Hampshire Army National Guard Infantryman (11B) 1995 - 1998
- Completed the U.S. Army Mountain Warfare School.
New York Army National Guard Software Analyst (74F) 1993 – 1995
U.S. Army Reserves Infantryman (11B) 1992 - 1993
ACTIVITIES:
Hiking, skydiving, and making reproduction medieval armour.
- 11,500 mile road trip around the U.S in 6 weeks 12/2006-01/2007
- Hiked all 48 peaks above 4000' in New Hampshire. 2006
- Certified as a F.A.A. Senior Parachute Rigger. 2005
- Participated in a 65-Person Skydiving Canopy Formation World Record. 2003
Copyright 2008 Craig W. Nadler All rights reserved.