OpenWrt Forum Archive

Topic: Transcend WifiSD / PQI AirCard / FluCard Pro

The content of this topic has been archived between 29 Mar 2018 and 30 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi, guys,

I have Transcend Wi-Fi SD card. Actually, I had it, because I kill it during the firmware upgrade process. I have boot log.

KA Boot 04240806

scu: 11c33303,00000000,00040404,00009f00,1
Status 20100805

Hit to stop :  2.. 1.. 0
Wait m1 timeout - Status 20100805 RCA0 68, RCA1 b3
(5)m1 not readyStatus 20100805
InitCard failed
** Can't read from device 1 **
** Can't read from device 1 **
reading program.bin
Error: reading boot sector
<mmc1>go 208000

And that's all. Also my PC can not detect this card, so I can not copy there a new firmware.
Do you have any ideas how could I reinstall firmware on card?

UPD1: In my card with same revision as card in the first post, pin 10 is TX, not RX.
UPD2: Card was recognised by my PC, but capacity is equal to 1.07 GB (expected 32 GB)
UPD3: I can enter the bootloader command mode (KA2000#... ) but it stucks in approximately 5 seconds.

(Last edited by argz on 5 Sep 2014, 20:11)

chuckegg wrote:

Automatica is a USB memory stick with built in WiFi.  You can plug it into your car audio USB to play the audio files using the car music controls. Whenever Automatica is able to connect to the Internet, your content is updated from the cloud and kept on the USB flash memory. You can always play your sync'd content from the flash drive, even when you have no internet connection.

Is there someone out there that hack the Transcend to make it work like the Automatica? That is, connect to the cloud on boot and sync the Transcend files that are stored on the cloud? (Dropbox or similar?)

Most recent cars have USB audio ports, some have SD audio ports, or maybe a Transcend SD could be used with a SD to USB device.

Here's a picture and description of the Automatica
https://automaticaweb.com/

A discussion about what I'd like to do
https://forum.openwrt.org/viewtopic.php … 98#p232898

Activating the semi built-in telnet and ftp deamons on a Transcend WiFi SD card
http://www.ad001.de/transcend-wifi-ftpd.html

Original Hack Blog
http://haxit.blogspot.com/2013/08/hacki … cards.html

Can anyone take on the project to make a transend automatically sync (download) from a cloud folder?

chuck(at)etusa.com

argz wrote:

Hi, guys,

I have Transcend Wi-Fi SD card. Actually, I had it, because I kill it during the firmware upgrade process. I have boot log.

KA Boot 04240806

scu: 11c33303,00000000,00040404,00009f00,1
Status 20100805

Hit to stop :  2.. 1.. 0
Wait m1 timeout - Status 20100805 RCA0 68, RCA1 b3
(5)m1 not readyStatus 20100805
InitCard failed
** Can't read from device 1 **
** Can't read from device 1 **
reading program.bin
Error: reading boot sector
<mmc1>go 208000

And that's all. Also my PC can not detect this card, so I can not copy there a new firmware.
Do you have any ideas how could I reinstall firmware on card?

UPD1: In my card with same revision as card in the first post, pin 10 is TX, not RX.
UPD2: Card was recognised by my PC, but capacity is equal to 1.07 GB (expected 32 GB)
UPD3: I can enter the bootloader command mode (KA2000#... ) but it stucks in approximately 5 seconds.

I don't think this is a firmware problem, it looks more like the sdcard part got bricked somehow.
So this likely won't fix your issue, but here's how you could upload new firmware over serial:

loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loady   - load binary file over serial line (ymodem mode)

KA2000#help loadb
loadb - load binary file over serial line (kermit mode)

Usage:
loadb [ off ] [ baud ]
    -  oad binary file over serial line with offset 'off' and baudrate 'baud'
KA2000#help loads
loads - load S-Record file over serial line

Usage:
loads [ off ]
    - load S-Record file over serial line with offset 'off'
KA2000#help loady
loady - load binary file over serial line (ymodem mode)

Usage:
loady [ off ] [ baud ]
    - load binary file over serial line with offset 'off' and baudrate 'baud'

e.g. you could "loadb 208000" followed by "go 208000" to start the image you loaded.
Here's how you would flash the firmware manually.
Normally program.bin is loaded from SD card and does this for you:
WARNING: Everything below this is completely untested by me!

fatload mmc 1 208000 image3; sf erase 200000 300000; sf write 1ffc00 200000 300000
fatload mmc 1 500000 initramfs3.gz; sf erase 500000 300000; sf write 4ffc00 500000 300000
fatload mmc 1 d00000 mtd_jffs2.bin; sf erase 80000 100000; sf write d00000 80000 100000

You can instead replace the fatload with loadb (kermit) or loady (ymodem) and upload over serial like so:

loadb 208000; sf erase 200000 300000; sf write 1ffc00 200000 300000
# Use terminal kermit mode to upload image3
loadb 500000; sf erase 500000 300000; sf write 4ffc00 500000 300000
# Use terminal kermit mode to upload initramfs3.gz
loadb d00000; sf erase 80000 100000; sf write d00000 80000 100000
# Use terminal kermit mode to upload mtd_jffs2.bin

WARNING: The above is completely untested by me!

Hi, it's possible The transcend firmware.porting to pqi?
Thanks

I could use some Help.

I have the Pqi Air card and all i want to "hack" is

1. set it to connect to hotspot only and specify the hotspot via some config file
2. transfer files from the root of the SD card via wifi

Do i need to load a custom os or is this card able to do it on it's own.

I appreciate any guidance.

FYI i have read most of this thread but my linux is terrible.

Hello
I am goint to join your struggle here. I have pqi air card with terminal up and running. Cross compiler on the way. Hello world from forum worked. So my setup is almost ready.
As I didn't see any power consumption results here I will share mine(measured at 3.3V).

25mA – uSD card standby(not sure about that)
57mA – booting
110mA – WiFi enabled
125mA – downloading large file (transfer up to 800KB/s through http)

From functional point of view it looks like keyasic chip has builtin sdio swich between host and cpu with ability to monitor transactions between host and sd card. My card has interesting feature: It has three dedicated jpg files which after deletion turn on wifi AP; connect to AP(not tested); perform factory reset. So it seems like there already is wifi client mode. SoC reacts immediately for file deletion so there must be some irq mechanism to do that. Pooling method would have some delay. Maybe that is why card doesn't boot standalone. Maybe it waits for specific sdio command.
Log on file deletion

File1:

starting pid 94, tty '/dev/ttyS0': '-/bin/ash '
#
#
#
#
#
# (0>4)restore 12-17 to 11781 (0006f28d)
Img #1 del
w3 &get_Kcard_app cmd 1(4>0)
umount
kcard_app_act_cmd 0
w3 &
(0>4)..setup AP mode start
re-trigger run a0
(4>5)(5>0)get_Kcard_app cmd 7
umount
Keep Filter 0 = 01:00:5e:00:00:01
debug_hdr_ptr: 0x5429a0
 Attempting to reset target on instance destroy....
Sdio trans timeout
ifconfig: SIOCGIFFLAGS: No such device
AR6000: configuration opcode 7 is only used for RTOS systems, not Linux systemsi     nsmod: can't insert '/lib/ka2000-sdio.ko': File exists
lo        no wireless extensions.

ifconfig: SIOCGIFFLAGS: No such device
ath6k/AR6003/hw2.1.1/athwlan.bin firmware will be loaded

AR6K: ** HIF layer does not support scatter requests (17)
wmi_control_rx() : Unknown id 0x101e
Finding:"WIFISSID": Got: "PQI Air card"
Finding:"My IP Addr": Got: "192.168.1.1"
Finding:"Channel": Got: "1"
channel hint set to 2412
commit
Add Filter 0 = 01:00:5e:00:00:01
Keep Filter 0 = 01:00:5e:00:00:01
Keep Filter 0 = 01:00:5e:00:00:01

File2:

(0>4)restore 12-17 to 11781 (0006f28d)
Img #2 del
w3 &get_Kcard_app cmd 2(4>0)
umount
kcard_app_act_cmd 1
client_t &
(0>4)client start...
w2...
(4>5)(5>0)get_Kcard_app cmd 7
umount
Keep Filter 0 = 01:00:5e:00:00:01
debug_hdr_ptr: 0x5429a0
 Attempting to reset target on instance destroy....
Sdio trans timeout
ifconfig: SIOCGIFFLAGS: No such device
AR6000: configuration opcode 7 is only used for RTOS systems, not Linux systems
ath6k/AR6003/hw2.1.1/athwlan.bin firmware will be loaded
AR6K: ** HIF layer does not support scatter requests (17)
wmi_control_rx() : Unknown id 0x101e
insmod: can't insert '/lib/ka2000-sdio.ko': File exists
lo        no wireless extensions.

iwioctl: cmd=0x8b03 not allowed in this mode
iwioctl: cmd=0x8b1d not allowed in this mode
iwioctl: cmd=0x8b23 not allowed in this mode
iwioctl: cmd=0x8b25 not allowed in this mode
mlan0     AR6000 802.11ng  Nickname:""
          NWID:off/any  Mode:Managed  Bit Rate:1 Mb/s   Tx-Power=0 dBm
          Sensitivity=0/3
          Retry:on   RTS thr=0 B   Fragment thr=0 B
          Encryption key:off
          Power Management:on
          Link Quality:255/94  Signal level:-96 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Add Filter 0 = 01:00:5e:00:00:01
Keep Filter 0 = 01:00:5e:00:00:01
Keep Filter 0 = 01:00:5e:00:00:01
auto connect available router
Finding:"AP_ACCOUNT": Got: "3"
size 1073
get_all_essid 0 -> 1073
ESSID  [reksio3], cell 68 -> 1073
WPA Version
Finding:"AP_SSID": Got: ""
Finding:"AP_Key": Got: ""
Finding:"AP_SSID": Got: ""
Finding:"AP_Key": Got: ""
Finding:"AP_SSID": Got: ""
Finding:"AP_Key": Got: ""
Finding:"AP_ACCOUNT": Got: "3"
size 1073
get_all_essid 0 -> 1073
ESSID  [reksio3], cell 68 -> 1073
WPA Version
Finding:"AP_SSID": Got: ""
Finding:"AP_Key": Got: ""
Finding:"AP_SSID": Got: ""
Finding:"AP_Key": Got: ""
Finding:"AP_SSID": Got: ""
Finding:"AP_Key": Got: ""
Finding:"AP_ACCOUNT": Got: "3"
size 1073
get_all_essid 0 -> 1073
ESSID  [reksio3], cell 68 -> 1073
WPA Version
Finding:"AP_SSID": Got: ""
Finding:"AP_Key": Got: ""
Finding:"AP_SSID": Got: ""
Finding:"AP_Key": Got: ""
Finding:"AP_SSID": Got: ""
Finding:"AP_Key": Got: ""
udhcpc (v1.18.5) started

configure IP address

Sending discover...
Sending discover...
Sending discover...

configure IP address

File3:

#
# (0>4)restore 12-17 to 11781 (0006f28d)
Img #3 del
w3 &get_Kcard_app cmd 3(4>0)
umount
kcard_app_act_cmd 2
wait for action
........factory reset
(0>4)(4>5)(5>0)factory_reset.sh &get_Kcard_app cmd 7
umount

Also I gathered relative information scattered throughout the thread(please confirm if correct):

-PQI Air, Transcend, FluCard are basically the same thing (Transcend and flucard have built-in card). Wheather firmware is swappable? Not confirmed.
-Terminal @ 38400 8N1 on test points marked on first post
-only pqi and transcend published sources
-using uboot,  linux-2.6.32.28 and busybox compiled with 2011.03-42 CodeSourcery toolchain
-we can flash card using provided firmware update mechanism
-@moroboshi managed to compile 3.10.10 kernel with wifi module but without sdcard switch(no sources available)
-@dankrause we have:
-32MB of onboard RAM, of which 3MB is used as Ramdisk ( stores the rootfs only at runtime )
-7MB of onboard NOR Flash, 1MB used for the jffs2 ( /dev/mtdblock0 ), 3MB for the kernel, and 3MB to persistently store the rootfs
-buzzer works on flucard others not confirmed


My considerations. I presume some of test points correspond to JTAG interface. If we could determine which ones we probably will be able to flash card without uboot( opens road to safe uboot modifications).

EDIT

Since board is only two layers we we could reverse engenieer schematics is somone would desolder SOC and ethernet controller. Probably someone with broken card.

Also note that the card can (partially) supply from your termial. That was problem in my case. Unplugging and plugging of the card did not cause reboot. Sersies resistors 500ohm on tx and rx fixed the problem.

Atheros card datasheet with pinout http://www.datasheet-pdf.com/datasheet- … s.pdf.html

(Last edited by modimo on 30 Oct 2014, 23:03)

Today I tried to connect my PQI to STM32F4 over 4bit SDIO. Here are conclusions:

STM32F4Cube libraries are total shit(at least under gcc). For example higher capacity cards overflow 32bit value breaking card capacity readout. Simple casting to 64bit value fixes the problem. Another (couple hours of debugging) has shown that STM library, although it is configurable for 4 bit mode, will never work in 4 bit mode in the form as it was written(no matter what compiler). It changes uC interface into 4 bit mode without turning sd card into 4 bit mode(ACMD6) resultin in start bit error during status register readout.

Aside from STM.

PQI card introduces half clock cycle delay on cmd stream! I tested three uSD cards and one SD card. They all change state at cmd output on falling clock edge. However with PQI card cmd changes state on rising edge! I did not check wheather same thing happens on data lines because card doesn't initialize(probably due to clock edge mismatch).

Ok i finally got it working. Another wired this about pqi is that it sometimes blocks response from sd card(CMD55). uSD card was inside PQI card and did respond(seen on scope) but the PQI did not forward the response to host. As a workaround I added retry loop on cmd 55 and it fixed the problem.

(Last edited by modimo on 10 Nov 2014, 16:16)

If the SD card can be shared by itself ,that would be cracy product!

Hello,

I found this forum while digging into my Transcend Wifi Card...

With all the information here (thanks a lot!) I am now able to build my own kernel an loop-mount (ubuntu) for chroot. There are almost no limits with the card now.
At the beginning I had trouble starting wifi without a host. Now I found a good solution for me:

This Sandisk Adapter comes with the eyefiSD card from Sandisk.
It emulates a valid host what makes the Transcend card start with wifi (just a power source needed).

http://s2.postimg.org/3o4dgczhh/2014_12_05_15_14_43.jpg
http://s28.postimg.org/q18eygibd/2014_12_05_15_14_19.jpg

If the OOTB look of the Adapter is not wanted, just rip off the platic :-)

http://s29.postimg.org/3sddhvhkj/2014_12_05_15_16_42.jpg

(Last edited by uherm on 5 Dec 2014, 22:42)

You should post your firmware when you get a chance. I have not had much time to work on my card with other projects going on but would be intrested to see what you come up with. Cheers

d.wonderful wrote:

You should post your firmware when you get a chance. I have not had much time to work on my card with other projects going on but would be intrested to see what you come up with. Cheers

I took the sources from here: https://forum.openwrt.org/viewtopic.php … 72#p210272
built the kernel according to Dmitry Grinbergs .config http://dmitry.gr/index.php?r=05.Project … d%20WiFiSD (support for swap, ext4, sysfs, loop)

and loop mounted the ubuntu filesystem (see also Dmitrys blog)

Something very nice:

The filesystem is compatible with the RaspberryPi (ARM6). So loop-mount and chroot with the PI and do update or install stuff. This is much faster than with the card. After that loop-mount and chroot again with the Transcend Card.

(Last edited by uherm on 16 Dec 2014, 18:08)

Hello guys,

I need some help. I have a 32gb Transcend Wifi Card and all the extra function I want it wireless upload of mp3 files from my PC to my MP3 player. Here is the problem. I start an ftp server via autorun.sh and also telnet client. All is fine. I can upload files and can see them from telnet or web config of Transcend. After powering off and on the MP3 player, it can detect new files (increase file count) but can't play those files. I also tried sync command, remount of sd, same thing.

I take out the SD and put in my PC, I can play uploaded files. I tried comparing files written by SD reader and FTP, everything (owner, permissions etc) except the timestamp is same. (This might be misleading since /mnt/sd is FAT32 and permission dont work?) I tried correcting the date by date -s command, no difference. 

What might be the difference of files written by the SD Reader and FTP Server? I also tried the cp command of a playable file, but copy is not playable. only mv command works (which is nothing but the original playable file of course) So any file created by root user/telnet/ftp etc is unplayable on the MP3 player.

How can I fool the MP3 player that files created by FTP are like created when plugged into a PC? I would very much appreciate any help I can get on this. I tried 1.6 and 1.8 Transcend Firmwares, my autorun.sh is as follows:
cp /www/sd/busybox-armv5l /sbin/busybox-extra
chmod a+x /sbin/busybox-extra
/sbin/busybox-extra telnetd -l /bin/bash &
/sbin/busybox-extra tcpsvd -vE 0.0.0.0 21 ftpd -w /www/sd &

Thank you very much in advance.

OK, I solved my problem, it turns out that telnet client starts to write to SD card close to end and my MP3 player although seems to support 32gb card it actually can't address files close to end.

So I repartitioned the Transcend card as 4gb + 28gb and mounting the second partition as sd-ext. Good thing is that, a second FTP server on port 22 can access it just right.

Now, would it be possible to put minidlna and samba on this card? Any precompiled binaries? Thank you.

Hi, I just purchased the PQI aircard and I have a few quick questions.  I have used the autorun.sh on the flucards before, but I have had no success with the PQI.  Could I be doing something wrong or does it not have the autorun.sh configured at the end of its startup? 

Reason I'm asking is that I'd like to have it deleted the connect to hotspot jpg so that it will connect as a client automatically.  I plan on having multiple PQI cards running on a single network where I can download from them.  I would prefer not to have to change the firmware on multiple cards if I can either put an autorun.sh script or could a program.bin compiled to to the delete work?  I'm not sure on the load order of when program.bin gets called and maybe someone with experience here could let me know?

Cheers,
   Pete

I worked out my issues once I was able to get busybox loaded so I could poke around with tools.  I now have the autorun.sh starting the system using the w2 command so that it connects as a client node to my network.

OK, I managed to put DLNA/Upnp and Samba servers on the card along with Ubuntu. It's now a full computer inside my MP3 player. Nice.

hedehede81 wrote:

OK, I managed to put DLNA/Upnp and Samba servers on the card along with Ubuntu. It's now a full computer inside my MP3 player. Nice.

Did you loop-mount the ubuntu filesystem according to Dmitrys blog or do you have another solution? If you found another way, would you please share your knowledge?
Thanks.

uherm wrote:
hedehede81 wrote:

OK, I managed to put DLNA/Upnp and Samba servers on the card along with Ubuntu. It's now a full computer inside my MP3 player. Nice.

Did you loop-mount the ubuntu filesystem according to Dmitrys blog or do you have another solution? If you found another way, would you please share your knowledge?
Thanks.

Yeah, chrooted with Dmitry's way.

Hello guys!


i need than the new pictures taken should be upload automatically to an url(php) ... what can i do? scripts in SD? on laptop? i don't know u.u

Hi

What are the available power saving options? Can we, say, suspend the device for a minute, or turn off wifi, or at least underclock the CPU? I have a script that waits for a new picture and copies it to a remote storage, so I don't need wireless when there is no picture to transfer.

I'm using dankrause's image with Dmitry's kernel if that matters. Couldn't find anything related to wifi power neither in sysfs nor within wpa_cli commands. Would 'iwconfig mlan0 txpower off' do any good to the power saving?

Best regards,
Denis

ds_openwrt wrote:

Hi

What are the available power saving options? Can we, say, suspend the device for a minute, or turn off wifi, or at least underclock the CPU? I have a script that waits for a new picture and copies it to a remote storage, so I don't need wireless when there is no picture to transfer.

I'm using dankrause's image with Dmitry's kernel if that matters. Couldn't find anything related to wifi power neither in sysfs nor within wpa_cli commands. Would 'iwconfig mlan0 txpower off' do any good to the power saving?

Best regards,
Denis

I don't use that image but I think it supports cron jobs, I am not sure if the same scripts from the vanilla image work on that one either. On vanilla I set my startup script to look form known routers and if none are found it sets up its own access point but if no connections are made after three mins it just shuts off the wifi. I can share what I have but don't think it compatible.

Well, my question was actually a bit different.
I know how to connect to an access point with wpa_supplicant and I know how to switch into AP mode with hostapd. I'd like to know how to turn wifi power off when it is not needed to save power.

But I don't know what that image suports is the problem, Did you send an email to the developer? I know on mine I can set it to powersave mode and it uses about half the power but I think it only works on the PQI version.  IF you are actively pushing images why not just shut off the wifi and only turn on when transmitting? It would take a bit longer to transfer but would save much more power then just setting tx off. On mine even turning off the wifi compleatly only reduces power usage by a few percent (~5%) if not transmitting.