There could be many reasons, for example: that device can have very low level hardware decoder or low quality USB port (especially if the device does not come formfrom some widely known and good brand). The first thing I would try is to use the Base codec profile instead of the Main one, the second thing is to downscale the resolution.