Привет всем

Есть следующая загвоздка:
Пытаюсь реализовать чтение с ЮСБ флешки файла BMP. Как бы все работает вроде неплохо, но вот наткнулся на один косяк.
все подключается, пишется и т.д. НО мне нужно прочитать в заголовке файла некую информацию, а именно откуда начинаются данные самого растра, дабы переместится туда и начать их считывать. Ну ладно думаю в чем проблема-то:
f_lseek (&MyFile, 10);
f_read (&MyFile, rastr, sizeof(rastr), &br);
считываю что растр начинается с 62 байта.
перемещаюсь туда:
f_lseek (&MyFile, 62);
и вот прикол- пытаюсь считать 2500 байт
f_read (&MyFile, send, sizeof(send), &br); буфер send имеет размер 2500...
и фигушки...
ну ладно думаю, погляжу в отладке.. смотрю... а он считывает только 450 байт и все. при повторном обращении не читает ничего и f_error(&MyFile) устанавливает единичку, тобиш ахтунг...
Ломал голову и так и сяк, потом заметил что если сначала не читать заголовок файла, а сразу начинать читать кусками по 2500, то все нормально. читает весь файл до конца без ошибок.
Вообщем суть такова что после любого перемещения указателя по файлу он разрешает читать только 450 байт, а если сразу читать нужные куски, то хоть 4000. Мож кто сталкивался?