O script está sendo executado em um servidor X? Caso contrário, você precisa definir a variável DISPLAY
O hardware ainda está inicializando? Você pode tentar adicionar um sleep após o modprobe para garantir que ele esteja funcionando totalmente antes que o restante dos comandos seja executado. (Isso provavelmente não é o caso, pois o kernel deve inicializar totalmente o dispositivo antes de devolvê-lo ao espaço do usuário)
O comando modprobe está funcionando? Tente adicionar --first-time para que ele informe se já está carregado, e também tente substituir rmmod por modprobe -r (para seu uso rmmod deve funcionar, mas modprobe -r é a ferramenta recomendada)
Desculpe, estas são perguntas, mas não tenho elogios suficientes para adicionar um comentário