As your original question still isn't answered and I wondered the same, here's the answer. Short answer: No, without root it's not possible to run an SMB server. Long answer: SMB either runs on ports 137-139 (UDP and TCP) using NetBIOS or on newer systems (from Windows Vista onwards) directly on TCP port 445 where in the latter case computer names are resolved by the LLMNR (Link-local Multicast Name Resolution) protocol which runs on UDP port 5355. Why is this important? Apps not running as root [can't bind to unprivileged ports](http://code.google.com/p/android/issues/detail?id=4039) (<1024). As it's not possible to use alternative ports (>=1024) for SMB, such apps must run as root.