Known issues:
SIS900 network card (Note: SIS191 has same problem, however, since Etherboot/gPXE does not support SIS191, this workaround won't work for SIS191):
   sis900 client does NOT work with pxelinux >=3.07 simple menu, it will hang like this:
   http://drbl.sf.net/screenshot/?in_path=/00_DRBL#xxx-sis900-client-hang.jpg
   you WON'T see this:
   http://drbl.sf.net/screenshot/?in_path=/00_DRBL#syslinux_drbl.jpg
   The client will hang before this.
   It's reported to:
   http://syslinux.zytor.com/archives/2005-April/005030.html

   There *IS* a workaround (Thanks to Alexander Heinz for providing that in syslinux mailing list):
   1. Install DRBL version 1.5.8-1 or newer one, finish all the setup.
   2. Find your SIS900 Clients' MAC vendor prefix, for example, if their MAC addresses are AA:BB:CC:DD:XX:YY, the MAC vendor prefix is AA:BB:CC.
   3. Modify the file /etc/dhcpd.conf (RH-like) or /etc/dhcp3/dhcpd.conf (Debian based):
   ---------------------------------------------------------
#if substring (option vendor-class-identifier, 0, 3) = "PXE" {
#     # **************************************************************
#     # ***MODIFY*** the MAC vendor prefix of client network card here.
#     # **************************************************************
#     # For annoying sis900 network card, maybe it's 00:07:95, 00:0C:6E...
#     if substring (hardware, 1, 3) = 00:0C:6E {
#         # eb-5.4.3-etherboot-pci.zpxe is a all-in-one pxe image, works for most NIC.
#         # sis900.zpxe is specially for sis900 NIC.
#         # Try either one.
#         #filename = "eb-5.4.3-etherboot-pci.zpxe";
#         filename = "sis900.zpxe";
#     }
#}
   ---------------------------------------------------------
   uncomment the "if block", and change the MAC vendor prefix to yours. In this example, we use AA:BB:CC like this:
   ---------------------------------------------------------
if substring (option vendor-class-identifier, 0, 3) = "PXE" {
     # **************************************************************
     # ***MODIFY*** the MAC vendor prefix of client network card here.
     # **************************************************************
     # For annoying sis900 network card, maybe it's 00:07:95, 00:0C:6E...
     if substring (hardware, 1, 3) = AA:BB:CC {
         # eb-5.4.3-etherboot-pci.zpxe is a all-in-one pxe image, works for most NIC.
         # sis900.zpxe is specially for sis900 NIC.
         # Try either one.
         #filename = "eb-5.4.3-etherboot-pci.zpxe";
         filename = "sis900.zpxe";
     }
}
   ---------------------------------------------------------
   4. restart dhcpd service, like "/etc/init.d/dhcpd restart" (RH-like) or "/etc/init.d/dhcp3-server restart".

   5. Start your annoying sis900 box! It should work now.

Updated on Dec/13/2014.