|
|
|
Case
Studies |
Development
of WiMax Driver Software |
The
Customer :
A fabless semiconductor
company involved in development
of WiMax CPE.
The work involved
:
- Development of device
drivers on various operating
systems.
- Development of relevant
driver/host side protocol
stack and related software.
The result :
- The customer started
with one driver. Since
then we have been involved
in drivers/protocol
software on various
OSs and on the device
side.
- Our people are involved
in the critical path
activities.
|
|
|
Performance
Improvement of a USB ethernet
Device driver on Windows |
The
Customer :
A Fabless semiconductor
company.
The work involved
:
- The customer wanted
us to improve the performance
of the USB ethernet
chip/driver.
- The driver from the
customer was getting
35-50Mbps on Receive
and 50-80 on transmit.
- The customer needed
above 70Mbps on both
transmit and receive
for a design win.
The result :
- The driver was redesigned/enhanced
to give more than 90
Mbps on both transmit
and receive.
- The customer came
back with additional
driver development requirements
on WinCe and Apple Mac.
|
|
|
Device
Driver For a PCI Express
Root Complex Device |
The
Customer :
A High Speed Interface
Solutions Company.
The challenge :
- The root complex device
acts as a PCI endpoint
for upstream and RC
for down stream devices.
- The target was to
make it look like an
independent bus and
allocate the resources
without changing BIOS
etc.
- The project was earlier
awarded to another consulting
company and they failed
to deliver after taking
about 10 months time
and then the project
was given to us.
The work involved
:
- Basic driver for the
end point.
- Bus driver that would
enumerate and configure
the devices down stream
and allocate resources
for them from the common
pool.
- The resources have
to be allocated and
devices have to be configured
using a common pool
as PCI original root
is not aware of existence
of the devices downstream.
The result :
- The driver was completed
in about 4-5 months
time as the hardware/firmware
also was getting tested
first time and had bugs.
|
|
|
Windows
PPPoE IM Driver |
The
Customer :
Our customer is a technology
company providing equipments
for Wireless Local Loop.
The Challenge
:
The customer wished to
develop a dialer using
Ethernet adapters by using
the PPPoE technology on
Windows 98. i.e. The driver
software should be able
to emulate PPP over the
Ethernet connection. Also,
it needed application
and configuration software
to create and configure
the dialer.
The Solution
:
The requirement needed
the implementation of
a Windows NDIS Intermediate
driver to implement the
PPPoE RFC. The intermediate
driver would have a protocol
interface at the lower
edge for communicating
with the NDIS miniport
drivers. It would have
a WAN Miniport interface
at the upper edge to communicate
with NDISWAN intermediate
driver provided by Windows.
In addition, it allows
TCP MSS clamping and configuration
of TCP MSS and MTU.
The software was developed
in 3 months time.
The Technology
:
The complexity of the
project was in understanding
the intricacies of Intermediate
driver on Windows 98 as
the documentation is not
clear/non existent.
The Result :
The customer was very
happy with the quality,
fast delivery time and
the low development cost.
More so as their earlier
effort in getting it done
from some other company
had failed. Also, This
project enabled GRACELABS
to build on its technical
resources in the areas
of Intermediate drivers
on Windows and PPPoE.
Also, the customer entrusted
GRACELABS with providing
the same software on other
Operating systems. |
|
|
Windows
WDM 3G-PP TE-UE Multiplexer |
The
Customer :
Our customer is a fast-growing
wireless technology company.
The Challenge
:
The customer wished to
port the 3GPP TE-UE multiplexer
driver to Windows 2000.
The Solution :
The requirement needed
the porting of a driver
for 3GPP TE-UE multiplexer
driver to Windows 2000.
The functionality was
to multiplex a serial
line for use by multiple
applications by providing
virtual COM ports. The
porting needed an understanding
of the original driver,
the protocol and WDM intermediate
driver.
The porting work was done
in a month’s time.
The Technology
:
The complexity of the
project was in understanding
the protocol and the original
driver implementation,
as the porting had to
be done in a very short
span of time.
The Result :
The customer was very
happy with the quality,
fast delivery time and
the low development cost
and started entrusting
GRACELABS with driver
work in similar areas
and later embedded work
in integrating Wireless
chipset related software
to the Windows Mobile
software for the embedded
OS and Bluetooth stack
related software.
|
|
|
Apple
MAC USB IrDA Driver |
The
Customer :
Our customer is an evolving
Fabless semiconductor company
focusing on data communication
ICs. The
Challenge :
Our customer has a USB
IrDA device supporting
SIR, MIR, and FIR modes.
The customer wanted the
Apple MAC driver to be
developed for the IrDA
device.
The Solution :
GRACELABS team went through
the IrDA architecture
on Apple MAC 10.3. Apple
supports IRComm, IRLAP
and IrLMP in their protocol
stack and developed the
driver using IoKit Architecture.
In addition to the IOkit/protocol
stack specific functionality
the driver implementation
involved framing, CRC16/CRC32
calculation/verification
etc. The driver along
with the stack was tested
using mobile phone utilities.
Also, a driver with support
for serial communication
(Without protocol stack
support) using the IrDA
device was developed and
utilities were written
to transfer raw data between
Windows and Apple using
the serial connection.
The driver was completed
in about 3 months time.
The Technology
:
The technologies involved
were IrDA, Apple MAC IOKit
driver architecture and
USB.
The Result :
The device was supported
on Apple MAC platform. |
|
|
Linux
IrDa Driver |
The
Customer :
Our customer is a Technology
Company.
The Challenge
:
Our customer has a USB
IrDA device which had
a vendor specific interface.
The Solution
:
On Linux IrDA could be
supported as a network
device. So, a network
driver was developed to
support the device. The
driver had support for
vendor specific commands,
framing etc. The work
was completed in about
2 months time.
The Technology
:
Linux, IrDA, IrNet, Socket
buffers.
The Result :
The device was supported
on Linux platform.
With the kind of technical
expertise we have, the
first part i.e Boot loader,
OAL , Serial driver, display
driver and A/D converter
driver/library were completed
in a short time. Currently
the second phase is in
progress. |
|
|
Linux
PCI WLAN Driver |
The
Customer :
Our customer is a fabless
semiconductor company focused
on WLAN ICs.
The Challenge
:
Our customer has a PCI
Wireless LAN device supporting
802.11 a/b/g. The customer
had a Windows driver for
the same. The customer
wanted the driver to be
ported to Linux.
The Solution
:
GRACELABS team went through
the existing driver code
and ported the driver
to Linux while keeping
the original architecture.
The team had regular communications
and exchange of ideas
with the customers' team
and worked as an extended
team of the customer.
The team used its expertise
in Linux Network device
drivers/WLAN for porting
the driver in a short
time period. The driver
had features like firmware
download, support for
both infrastructure and
IBSS mode etc. Also, the
application and IOCTLs
for diagnosing and setting
up the device was ported.
The Technology
:
The complexity of the
project was in understanding
the original architecture
and maintaining the abstract
interface that was being
used between the OS dependent
module, protocol module,
and OS independent module
while making sure the
changes made in the common
module doesn't break the
original Windows driver.
The regular communication
and cooperation of the
customer's protocol and
software teams was very
helpful in achieving the
result.
The Result :
The project was completed
in 21/2 months time. Seeing
the progress of the project
the customer came back
to us for providing consultancy
on enhancements/bug fixing
of the Windows driver
for WHQL certification. |
|
|
Windows
USB Touch screen driver |
The
Customer :
Our end customer is a technology
company providing Touch
Screen Monitors/Panels.
The Challenge
:
Our customer had a touch
screen controller having
USB interface. They needed
us to develop the USB
driver for the device
on Windows 2000.
The Solution
:
The device was a vendor
specific device. The driver
development involved :
- Support for USB interface.
- Exporting mouse functionality
for a non HID device.
- Getting the touch
coordinates and creating
the report descriptor
for the HID class driver.
- Support for functionality
for double click, drag,
right click, left click
etc. for the non HID
device.
Having experience in these
areas the drivers were developed
in a short period.
The Technology
:
Touch screen, WDM, USB
1.1, HID
The Result :
The touch screen device
was supported on Windows
2000. |
|
|
Windows
Serial Touch screen driver |
The
Customer :
Our end customer is a technology
company providing Touch
Screen Monitors/Panels.
The Challenge
:
Our customer had a touch
screen controller having
serial interface. They
needed us to develop the
serial driver for the
device on Windows 2000.
The Solution :
The device was a vendor
specific device. The driver
development involved :
- Support for Serial
interface.
- Exporting mouse functionality.
- Getting the touch
coordinates, scaling
it, and reporting to
the mouse class driver.
- Support for functionality
for double click, drag,
right click, left click
etc. for the device.
- Providing interface
to the user application
for calibration, specifying
type of click etc.
Having experience in these
areas the drivers were developed
in a short period.
The Technology
:
Touch screen, WDM, USB
1.1, HID
The Result :
The touch screen device
was supported on Windows
2000.
|
|
|
Windows
PCI WLAN Driver - WHQL certification |
The
Customer :
Our customer is a Technology
Company.
The Challenge
:
Our customer has a PCI
Wireless LAN device supporting
802.11 a/b/g. The customer
had a Windows driver for
the same. The customer
wanted the driver to be
made WHQL compatible.
The Solution
:
Earlier GRACELABS had
done the porting of the
driver from Windows to
Linux. The customer was
not able to execute the
2C tests as the connection
establishment test was
not passing due to lack
of support for IPX packets.
GRACELABS Engineer with
the help of the customer
team fixed it and went
ahead with testing and
bug fixing for WHQL. The
driver was made WHQL compatible
in a short period.
The Technology
:
WLAN, NDIS and WHQL
The Result :
The project was completed
in 7 weeks time. This
was possible thanks to
the help from the customer
team and due to the fact
that the driver was relatively
stable and only the WHQL
related bug fixes/enhancements
had to be made. Seeing
the value addition, the
customer has come to us
for enhancements/bug fixing
for WHQL certification
for another version. |
|
|
|
Porting
µClinux and µClibc
to support DAPDNA Processor
based board |
The
Customer :
A Japanese Technology
company involved in building
solutions based on DAPDNA
processors.
The challenge :
- The target hardware
was based on IPFLEX
DAPDNA processor.
- 64MB flash and 256MB
of RAM.
- Integrated UARTS ,
LCD panel, and PCI controller.
The Solution :
- µClinux was
selected since dapdna
is an MMU-less processor.
- Its native library
µClibc was selected
to support user space
applications.
The work involved
:
- Adding new processor
support to Linux kernel.
- Developing a board
support package for
the platform.
- Porting user space
library for applications.
- Making the busy box
application and shell
environment run on the
platform.
The result :
- With our technical
expertise, the challenges
were met within a short
period of time.
- µClinux was
supported on the DAPDNA.
- The processor manufacturer
was able to successfully
demonstrate µCLinux
running on the platform
in the major embedded
exhibition(ESEC 2004)
held in Japan.
|
|
|
Development
of WinCE BSP |
The
Customer :
A renowned OS Company.
The work involved
:
- Development of WinCe
BSP for a PXA250/255
based board.
- Development of device
drivers for the peripherals
on the board.
The result :
- The customer started
with the BSP.
- The customer has come
back with additional
requirements and porting
of the same BSP to newer
versions of winCE.
|
|
|
Windows
CE 4.2 USB Ethernet Driver |
The
Customer :
Our customer is a leading
fabless semiconductor
company which focuses
mainly on data communication
ICs.
Our customer had developed
a USB Ethernet chip. The
customer had a Windows
device driver for the
device and wanted to develop
a Windows CE driver for
the same.
The Solution
:
Earlier GRACELABS team
was involved in the performance
improvement of the Windows
2000 driver for the same
device and was familiar
with the device/driver.
Windows CE also uses NDIS
architecture for Network
drivers. However, the
USB interface and driver
loading interface are
different for Windows
CE. Hence the work involved
implementing the driver
loading/dll interface,
modification of the driver
to use the Windows CE
USB driver interface and
setting up the registry
entries for building/installing
the driver as part of
the platform and creating
the inf ( for generating
cab file) file for installing
the driver separately.
Also, the “wsttcp”
tool was ported onto Windows
CE for performance testing
of the driver.
The Technology
:
The technologies involved
were USB, Ethernet, NDIS,
and Windows CE.
The Result :
The driver was delivered
in time and the customer
started entrusting us
with more drivers on Windows
CE. |
|
|
XSCALE/ARM
WinCE BSP |
The
Customer :
Our customer is a software
service provider focusing
on automotive sector.
The Challenge
:
Our customer wants to
port WinCE onto an XSCALE
based board. The end customer
is in the process of building
a device that would be
used in test and measurement
equipments. The board
supports Serial interface,
LCD display, Flash and
Ethernet.
The Solution :
The project involved
:
Phase 1 :
- Writing a boot loader
for downloading and
writing the image into
the flash. It supports
both Serial and thernet
download.
- Customizing the OAL
to run on the target
board.
- Writing/Customizing
the drivers for :
- Serial interface
- Display device
- Flash
- Ethernet
Phase
2 :
- Providing support
for KITL.
- Power Management Support
With the kind of technical
expertise we have, the Phase
1 has been done in a short
time. Then the customer
came back with Phase 2.
The Result :
WinCE was supported on
the PXA250/255 processor
based hardware platform
. GRACELABS acquired technical
expertise on one more
SOC platform in areas
like boot loader, OS porting,
driver development and
BSP development. |
|
|
Porting
WinCE to support Hitachi
SH7727 Processor based board |
The
Customer :
Our customer is
an embedded solution provider.
The Challenge
:
Our customer wants to
port WinCE onto a Hitachi
SH7727 based board. The
end customer is in the
process of building a
device that would be used
in a traffic controller
equipment. The board supports
Serial interface, LCD
display, Flash, Ethernet
and A/D converter.
The Solution :
The project involved
: Phase
1 :
- Writing a boot loader
for downloading and
writing the image into
the flash. It supports
both Serial and ethernet
download.
- Customizing the OAL
to run on the target
board.
- Providing support
for KITL.
- Writing/Customizing
the drivers for :
- Serial interface
- Display device
- Flash
- Ethernet
- A/D converter
Phase
2 :
- Power
management support.
The Result :
WinCE was supported on the
Hitachi SH7727 processor
based hardware platform
and the Operating system
vendor was able to successfully
demonstrate WinCE running
on the target platform.
GRACELABS acquired technical
expertise on one more SOC
platform in areas like boot
loader, OS porting, driver
development and BSP development. |
|
|
|
|
|
|
|
|
|
|
|