-->
Page 1 of 2

Serve files from an SD-card using esphttpd.

PostPosted: Tue Apr 14, 2015 1:15 pm
by Sprite_tm
Okay, over the weekend I finished a proof-of-concept to see if I could: I added the capability to serve files from FAT-formatted SD-cards to esphttpd. It uses a GPIO-based SPI driver to access the SD-card in FAT mode (hardware SPI also is implemented but very flaky) and Elm-chans FatFS to read the filesystem.

The SD-card is connected to the following I/O pins. Both normal-sized SD as well as micro-SD as well as SDHC cards are supported, although not all cards seem to implement the SPI protocol in the way I expect them to - a few of my cards just won't work. Also, because I use bitbanging, everything is gonna be very slow - expect speeds of about 20K/second.
(See eg here for pin reference)
CD/DAT3/CS - GPIO5
CMD/DI - GPIO13
CLK/SCLK - GPIO14
DAT0/DO - GPIO12 (may need an 10K pullup to 3.3V)
VSS1 & VSS2 - GND
VDD - 3.3V
(If you use an ESP12, take care: on all ESP12s I have, the silkscreen has GPIO4 and GPIO5 switched around.)

If you then go to the root of the webserver, it should serve up a directory listing of what's in the SD-card; you can then browse around.

Get it by pulling http://git.spritesserver.nl/esphttpd.git and doing a git checkout fatfs. Because some people will want to try it without compiling it, I've also made an exception to my policy and provided precompiled binaries. Get them here. Also make sure to flash webpages.espfs to 0x12000.

One final note: because the root now is the root of the SD-card, the wifi connection page isn't automatically loaded anymore. Go to. http://[ip]/wifi/wifi.tpl to configure WiFi.

Re: Serve files from an SD-card using esphttpd.

PostPosted: Tue Apr 14, 2015 3:43 pm
by dpwhittaker
I'm using hspi for a few other things in my project, so I'll see what I can do to stabilize it for SD-card access. Any preliminary ideas on what the source of the flakiness might be?

Re: Serve files from an SD-card using esphttpd.

PostPosted: Tue Apr 14, 2015 3:59 pm
by Sprite_tm
Not a clue. It seems like the data stream is OK and the first few commands to the SD-card are OK, but somewhere in the data stream something acts up and all I get is garbage instead of proper responses. I'd investigate it more but my scope kinda is acting up. It's a shame; I'm pretty sure HSPI could increase throughput by a fair bit.

Re: Serve files from an SD-card using esphttpd.

PostPosted: Wed Apr 15, 2015 4:29 am
by alonewolfx2
i tried and something went wrong. i saw directory listing on mainpage and serial log says something but it seems its showing flash filesystem files not sdcard. can you look my log ?

EDIT: directory listing right. i can see sdcard files but if requested files have same name on espfs, its showing file on espfs, if file exist just scard, its showing from sdcard(for ex: index.tpl if exist on sdcard and espfs, its showing from espfs. abc.tpl exist just on sdcard its showing from sdcard.

EDIT 2: also" %counter%" value showing page load times if files loading from espfs, showing direct "%counter%"(just string not value) if from loading sdcard.
Code: Select allrHttpd init, conn=0x3ffeb418

Ready
mode : sta(18:fe:34:9f:0b:0c) + softAP(1a:fe:34:9f:0b:0c)
add if0
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
add if1
bcn 100
add 1
aid 1
station: 2c:d0:5a:12:83:bf join, AID = 1
Con req, conn=0x3fff6160, pool slot 0
URL = /
Is url index 11
Send cmd 0
SD cmd 0 resp 0x1
Send cmd 8
SD cmd 8 resp 0x1
IFCOND: 1aa
Send cmd 55
SD cmd 55 resp 0x1
Send cmd 41
SD cmd 41 resp 0x1
Send cmd 55
SD cmd 55 resp 0x1
Send cmd 41
SD cmd 41 resp 0x0
Send cmd 58
SD cmd 58 resp 0x0
OCR: c0ff8000
Using block addressing.
Rd sec 0 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 8192 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Is url index 12
Rd sec 24576 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Conn 0x3fff6160 is done. Closing.
Con req, conn=0x3fff6160, pool slot 0
URL = /favicon.ico
Is url index 11Con req, conn=0x3fff6228, pool slot 0

Is url index 12
Is url index 13
End of image.
/favicon.ico not found. 404!
Conn 0x3fff6160 is done. Closing.
URL = /index.tpl
Is url index 2
Heatshrink compressed file; decode parms = b4
Con req, conn=0x3fff6a90, pool slot 1
URL = /style.css
Is url index 11
Con req, conn=0x3fff6c38, pool slot 2
URL = /cats/cross-eyed-cat.jpg
Is url index 11
Rd sec 24584 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Conn 0x3fff6228 is done. Closing.
Rd sec 24904 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Read 272 bytes for /style.css
Rd sec 24592 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24596 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 9526 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24600 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Conn 0x3fff6a90 is done. Closing.
Rd sec 24604 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24608 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Con req, conn=0x3fff7330, pool slot 0
Con req, conn=0x3fff61d8, pool slot 1
URL = /cats/junge-katze-iv.jpg
Is url index 11
Rd sec 24576 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24584 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24612 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 9526 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24616 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24620 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
URL = /cats/kitten-loves-toy.jpg
Is url index 11
Rd sec 24576 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24584 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24664 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 9526 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24624 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24668 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24628 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24736 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24672 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24632 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24740 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24676 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24636 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24744 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24680 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24640 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24748 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24684 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24644 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24752 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24688 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24648 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24756 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24692 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24652 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24760 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24696 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24656 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24764 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24700 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24660 ct 3
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Rd sec 24663 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Read 1671 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24768 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Conn 0x3fff6c38 is done. Closing.
Rd sec 24772 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24776 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24780 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24784 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24788 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24704 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24792 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24708 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24796 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24712 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24800 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24716 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24804 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24720 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24808 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24724 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24812 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24728 ct 2
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Rd sec 24730 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Read 1521 bytes for /cats/junge-katze-iv.jpg
Rd sec 24816 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24820 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24824 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Conn 0x3fff7330 is done. Closing.
Rd sec 24828 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24832 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Read 295 bytes for /cats/kitten-loves-toy.jpg
Conn 0x3fff61d8 is done. Closing.
Con req, conn=0x3fff6288, pool slot 0
URL = /index.tpl
Is url index 2
Heatshrink compressed file; decode parms = b4
Con req, conn=0x3fff6c60, pool slot 1
Con req, conn=0x3fff6cc0, pool slot 2
URL = /style.css
Is url index 11
Rd sec 24576 ct 1
Send cmd 17
SD cmd 17 resp 0x0
URL = /cats/cross-eyed-cat.jpg
Is url index 11
Rd sec 24584 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Conn 0x3fff6288 is done. Closing.
Rd sec 24904 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Read 272 bytes for /style.css
Rd sec 24592 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24596 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 9526 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24600 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Conn 0x3fff6c60 is done. Closing.
Rd sec 24604 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Con req, conn=0x3fff6890, pool slot 0
Rd sec 24608 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
URL = /cats/junge-katze-iv.jpg
Is url index 11
Rd sec 24576 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24584 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24612 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 9526 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24616 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24620 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24664 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24624 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24668 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24628 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24672 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24632 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24676 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24636 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24680 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24640 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24684 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24644 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24688 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24648 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24692 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24652 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24696 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24656 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24700 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24660 ct 3
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Rd sec 24663 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Read 1671 bytes for /cats/cross-eyed-cat.jpg
Rd sec 24704 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Conn 0x3fff6cc0 is done. Closing.
Rd sec 24708 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24712 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24716 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24720 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24724 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/junge-katze-iv.jpg
Rd sec 24728 ct 2
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Rd sec 24730 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Read 1521 bytes for /cats/junge-katze-iv.jpg
Conn 0x3fff6890 is done. Closing.
Con req, conn=0x3fff62e8, pool slot 0
URL = /cats/kitten-loves-toy.jpg
Is url index 11
Rd sec 24576 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24584 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24736 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24740 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 9526 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Rd sec 24744 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24748 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24752 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24756 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24760 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24764 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24768 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24772 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24776 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24780 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24784 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24788 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24792 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24796 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24800 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24804 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24808 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24812 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24816 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24820 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24824 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24828 ct 4
Send cmd 18
SD cmd 18 resp 0x0
Send cmd 12
SD cmd 12 resp 0x0
Read 2048 bytes for /cats/kitten-loves-toy.jpg
Rd sec 24832 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Read 295 bytes for /cats/kitten-loves-toy.jpg
Conn 0x3fff62e8 is done. Closing.
Con req, conn=0x3fff62e8, pool slot 0
URL = /favicon.ico
Is url index 11
Rd sec 24576 ct 1
Send cmd 17
SD cmd 17 resp 0x0
Is url index 12
Is url index 13
End of image.
/favicon.ico not found. 404!
Conn 0x3fff62e8 is done. Closing.