Stream audio via usbcard ices libvorbis on wdr4900 / n900

hi,
i tried to use wdr4900/N900 with a cheap usb sound dongle to stream to an icecast server via ices. The goal would be to send via LAN or LTE Stick to a server a livestream from a local mix. Like a urban - ghetto Radiostation.

first thing, by installing ices i could get a a stream to icecast - but it was a huge one: turned out it was a pcm,48000,2,16bit wav stream - which icecast itself couldnt handle.
the problem seemed that ices uses libvorbisidec.so which is segfaulting when trying to use the encoder, enforced uninstall and hard link from libvorbis.so does the job (yes , a dirty hack)

opkg remove libvorbisidec --force-depends
ln /usr/lib/libvorbis.so.0.4.9 /usr/lib/libvorbisidec.so.1
ices ices.xml 

by then the stream would run, but stutter a lot - or needs many seconds to get the next chunk of seconds.
cpu-load was 1.5 and higher, so i guess encoding is a mess on the routers itself.

my question is : is ices able to send raw data to icecast , and icecast would resample it to an ogg stream.
Or are there other ideas to have a more than 9600bit mono stream running from analog input/usb sound card via a classic opentwrt router?

https://icecast.org/ices
https://icecast.org/

and just in case the ices.xml code

<?xml version="1.0"?>
<ices>
    <background>0</background>
    <loglevel>4</loglevel>
    <consolelog>1</consolelog>
    <stream>
        <metadata>
            <name>StreamBox</name>
            <genre>Custom</genre>
            <description>doesntlikenothing</description>
        </metadata>
       <input>
            <module>alsa</module>
            <param name="rate">9600</param>
            <param name="channels">1</param>
            <param name="buffer-time">500</param>
            <param name="device">default:CARD=Device</param>
        </input>
        <instance>
            <hostname>172.16.21.11</hostname>
            <port>8000</port>
            <username>source</username>
            <password>hackme</password>
            <mount>/streamB</mount>
            <param name="rate">9600</param>
            <reconnectattempts>-1</reconnectattempts> 
            <maxqueuelength>80</maxqueuelength>
            <encode>  
                <managed>0</managed>
                <nominal-bitrate>48000</nominal-bitrate>
                <samplerate>9600</samplerate>
                <channels>1</channels>
            </encode> 
        </instance>
        </stream>
</ices>

Maybe mpd could help. Not sure.

ive looked into the input section stuff of mpd, this may work with sox or so ..
(i do not want to stream pre made mp3 files - i want to stream a line in signal which has to be raw (and big) or preprocessed if possible at all)
if the space is sufficient to install it.
ffmpeg itself is to big.
i will try it the next days - and report back.

I don't see honestly why would sampling rate matter, it's most likely overhead in either the usb driver or the encoder itself. I would suggest you try to match the sample rate to the one of the usb (either 44100 or 48000) to skip the resampler and just leave the bitrate to 32k mono. Of course the hardware can also be the limit here as well.