TPM2.0 device driver & relevant application
-In QCA9574-based Wireless AP, bring up the OPTIGA TPM SLB 9672 device
-Ported relevant applications from GitHub(tpm2-tss, tpm2-tss-engine, tpm2-abrmd) to OpenWRT platform
-Added a feature to protect TPM2.0 device hierarchies by password
-Build a firmware update application
-Build tpm2.0 key programming toolset
-Made a scheme to program RAS 2k and 3k key
-TPM2.0 key access by key handle with Strongswan in gateway-to-gateway configuration network
-Adapted applications including curl library to access the TPM2.0 device
LLDP porting & power management
-Ported opensource code to QCA9574-based Wireless AP
-Implemented Customization works
-Added feature to support 802.3BT and UPOE(Cisco Proprietary Standard)
EEE(Energy Efficiency Ethernet)
-Ported an application from Marvel(former Aquantia PHY) for EEE, and developed the kernel patch for EEE.
-Implemented kernel/application patch for QCA803X/808X EEE under QCA SSDK platform
-Implemented kernel code for Airoha PHY EEE under the QCA SSDK platform
-Used ethtool to manage EEE
Ethernet 1G PHY driver porting & adaption
-Ported/Adapted the PHY driver under the QCA SSDK framework via the MDIO bus
-Implemented the force mode
-Hooked up to ethtool to manage PHY device
IPC over ZMQ and proto buffer
-Maintained ZMQ-based IPC among threads and processes with messages defined in proto buffer
-Developed a feature named "configuration archive" to supervise the system status
Memory leak detection & application crash analysis
-Maintained/updated the in-house tool to trace the stack to get the dynamic allocation memory during the run-time
-Traced/fixed all Glibc APIs that allocate a chunk of memory block internally whenever they are called by applications
-Traced un-matched file handle APIs of popen/pclose, fopen/fclose, and open/close in ICX switch family source codes
-Familiar with Glibc
Experience Feb 2014 - Oct. 4, 2019 Broadcom Inc.
Principal Software Engineer
32/64 bit ARM-based SoC North StarPlus (NSP) / Northstar2 (NS2) development
-Patched Linux crypto driver for hardware crypto engine for encryption/authentication for IPSEC. Experienced to work with Linux IPsec, Crypto and XFRM.
-Improved the performance of Broadcom crypto driver by implementing polling mode.
With the improvement, we could reach 38Mbyte/second when reading data from an encrypted Network Attached Device(NAS) device over a 1Gbps network.
-Tested/debugged with Internet Security(IPsec) application(RFC4303) on the top of Open Data Plane(ODP) reaching a wire rate of 10Gbps along with Strongswan for automatic key exchange.
-Implemented to convert the Little Endian(LE) bootloader(uboot and ATF) to BE mode.
-Implemented packet manipulation by firmware running on a microcontroller (ARM R5) in front of the main processor to reduce the main CPU load while increasing packet processing speed.
-Implemented MMC driver in ATF. Familiar with storage devices(SCSI. MMC, USB) in uboot.
-Worked with Yocto/Buildroot.
10 Gbps Ethernet switch (Robo2 or Avenger) Development
-Experienced in bringing up a reference board of the switch reference board with internal GPHYNIPER/EAGLE PHY and with an external PHY(BCM542xx).
-Experienced to control 10M/100M/1G/2.5G/10G Ethernet PHY.
-Experienced in accessing registers of Ethernet devices via SPI interface.
-Tested/debugged controlling TCAM for manipulating Ethernet data at MAC/IP/TCP/UDP level.
Voice Over IP development
-Built u-boot and Linux kernel on MIP32 Little Endian board from u-boot/Linux open source.
-Built toolchains and ramdisk from Buildroot.
-Developed drivers(Ethernet network, serial port, Interrupt controller, timer interrupt, voip driver) on MIPS VolE board.
-Developed ATA(Analog telephone adapter) drivers(SiliconLab Si3226x/Si3217x SLIC with I2C interface for control data) to support 1/2 analog phones in Linux kernel and call
features and timer handler in the application layer. Ported caller ID function from chip vendor to ATA board.
SoC & Ethernet controller software development
-Developed USB host controller driver(USB 2.0) and device driver(USB 2.0) on ksz8692 SoC.
-Ported eCos, which is a small footprint real-time OS, on the ksz8695 board and implemented ksz8851 Network driver.
-Ported both PCI-based Wifi AP driver from RaLink and wireless tools from open source toksz8695.
Developed ADSL modem & router(BritePort) under Atmos, which were sold to America On Line(AOL).
-Ported the ADSL modem driver from the chip vendor(Virata) on the ADSL modem/router boards.
-Developed IP-based webcam. Did porting USB Webcam driver to the platform.
Development small-size to medium-sized PBXs (Private Branch Exchange) & Wireless microcell
-Led a team to verify functions in the PBX system.
-Led a joint project with SK Telecom to design a microcellular network CDMA BTS(Base Station System) sponsored by the Korean government.
-To bring up embedded systems from scratch from boot code to root file system and Linux kernel
-To bringup peripheral devices(USB, PC1e, SPI, I2C) to SoC
-Familiar with voice networks and data networks
-Familiar with Wireshark and in-house traffic generator implementation
-From high-level language to assembly language are available
-Working experience with ARM, MIPS, and Intel Platform