Sadly, the Epic uses the S5PC110 core with PowerVR SGX graphics, so this driver won't work.
The firmware can't be included in the kernel due to the proprietary license, that's why it has to be a module.
Try copying (adb pull) /system/vendor/firmware/fw_bcm4329.bin and /system/etc/wifi/nvram_net.txt to /lib/firmware on your rootfs, then add this to /etc/modules:
Code:
bcm4329 iface_name=wlan0 firmware_path=/lib/firmware/fw_bcm4329.bin nvram_path=/lib/firmware/nvram_net.txt
See the commented-out lines in X11.txt in the OP.
It has nothing to do with the audio drivers being built-in - PulseAudio doesn't set up the mixer paths properly, which is the driver/ALSA's fault. Right now, you have to manually set the playback path with alsamixer. I still don't get sound in any apps. For example, Audacious says "lsync failed," and other apps appear to start playing sound but they get underruns. Well, more like 100% underrun and 0% sound :/
I started writing a kernel keymap ("loadkeys" format), but I don't think X uses those settings. Writing XKB layouts is painful, so I just went with an incomplete kernel keymap, hence no symbol keys.
USB networking wasn't built in because the machine code complains if you try to replace the non-standard Android USB function driver with Linux USB "gadget". Adding USB networking to the Android function driver may work, but it's more complicated to set up outside of Android.