OESF Portables Forum
Everything Else => General Support and Discussion => Zaurus General Forums => Archived Forums => Hardware Mods => Topic started by: albertr on June 29, 2005, 01:04:10 pm
-
Since I haven't yet read/seen any posts about success stories on the subj (except for someone who claimed he added a usb bt dongle, but didn't support it by any tech info/pics), I'm getting ready to perform a first surgery on my C1K. Time permitting, I hope to do it sometime next week (maybe on July 4th holiday weekend).
Here's a few thoughts I have on the subj:
- There's a ffuart wired up to a port on the back of the C1K (so-called sharp i/o port) that has all modem control lines. I'm leaving it as a last resort (if everything else fails), since I want to retain it for rs232 comm.
- There's a btuart in PXA270 that has CTS/RTS control lines, but it's unknown if Sharp traced it on PCB. I would guess that it would make sense to have it traced just in case, i.e. planning for future models with built-in BT, but with Sharp you never know...
- Well, it leaves us with stuart that is wired up to IRDA transmitter/diode, but doesn't have any control lines, so hardware flow control is not possible.
If btuart lines can't be traced, either rs232 or irda has to go. Personally, I don't use IRDA myself, so for me the choice is clear. But not having hardware flow control leaves us with a challange of fighting high interrupt latency of bloated Sharp's kernel to avoid fifo overruns. I took a look at Sharp's serial driver, and as usual with sharp it's ... well, not good. I had troubles with overruns even at modest speeds. Now, the good thing is that it;s Intel PXA270, not Sharp's proprientary hardware, so full tech specs are available. I spend a few hours on "unsharp'ing" the serial driver, so now it seems to run ok. I tested it @ 460800 and not getting overruns anymore. I still need to test it @ 921600 and implement suspend/resume hooks, maybe add some hooks to front LED to show activity, etc.
Anyway, just thought it would be useful to have a dedicated thread where we all can share tech info and success stories. Please feel free to contribute... and I'll update you on status of my surgery.
-albertr
-
Here's an output of running a serial BT module connected to my C1K via external rs232 transceiver:
# cat /proc/tty/driver/serial
serinfo:1.0 driver:5.05c revision:Jun 28 2005
0: uart:PXA UART port:F8100000 irq:22 baud:460800 tx:5675 rx:12368 RTS|CTS|DTR|DSR|CD|RI
1: uart:PXA UART port:F8200000 irq:21 tx:0 rx:0
2: uart:PXA UART port:F8700000 irq:20 tx:0 rx:0
3: uart:16C950/954 port:F60003F8 irq:135 tx:0 rx:0
# btctl -v         Â
bt0 Â Â 00:10:60:a2:cb:8e
    Name: "zaurus"
    Class: 0xB2010C, Computer (Laptop) [Networking,Object Transfer,Audio,Information]
    Scan Mode: discoverable, connectable
    Security: service pair [-auth, -encrypt]
    Packets: DM1 DH1 DM3 DH3 DM5 DH5 HV1 HV2 HV3
    Role: allow switch, remain slave
    Baseband:
        Manufacture: Cambridge Silicon Radio, id: 10
        Features: 1.1 compliant
    Buffers:
        ACL: 8 x 192 bytes
        SCO: 8 x 64 bytes
    Suported features:
        Packet types: 3-slots, 5-slots
        Radio features: RSSI, CQD data rate, paging scheme
        Policy: switch, hold mode, sniff mode, park mode
        Encryption: supported
        Clock modes: slot offset, timing accuracy
        Audio: SCO, HV2, HV3, u-Law log, a-Law log, CVSD, transparent SCO
        Power Control: supported
# cat /proc/tty/driver/serial
serinfo:1.0 driver:5.05c revision:Jun 28 2005
0: uart:PXA UART port:F8100000 irq:22 baud:460800 tx:5800 rx:12752 RTS|CTS|DTR|DSR|CD|RI
1: uart:PXA UART port:F8200000 irq:21 tx:0 rx:0
2: uart:PXA UART port:F8700000 irq:20 tx:0 rx:0
3: uart:16C950/954 port:F60003F8 irq:135 tx:0 rx:0
#
Another thing comes to mind is how to control the power of BT module? Of course, bt draws much less then wi-fi, but still you won't probably want to shorten your battery life more than absolutely necessary. I'm thinking of trying to use some controlled power domain for +3.3V if I can find any inside C1K. I.e. irda diode or maybe sd/mmc slot? Any ideas?
-albertr
-
way to go, Albert, good luck!
could you use the control line from one of the LEDs with a PNP transister to control power to the module? Dunno if the C3/C1-000 has the same envelope/email icon + LED?
-
could you use the control line from one of the LEDs with a PNP transister to control power to the module? Dunno if the C3/C1-000 has the same envelope/email icon + LED?
No, the C3k has a hard disk activity LED on the bottom, and a battery charge LED on the top, in the left end of the chromed hinge.
That being said, there's a "Use HDD LED as Email LED" setting in the Light & Power applet, so that LED can probably be controled somehow by the end user...
-
C1K has two LEDs, both are software controlled, AFAIK. One is charging, another is email. I'm thinking of using the email LED to blink on uart activity.
As far as module's power consumption goes, I'll need to find +3.3V or +5V (both would work in my case) with peak load of approx. 50-80mA (@ 3.3V). I'm not sure how IRDA transmitter power is controlled and what's its peak load capability. If it can supply 80mA and can be software controlled (via some GPIO pin?) I can use it. Otherwise I'll need to find other source. If anyone has ideas on what it could be, please let me know...
On a side note, was not able to get it work @ 921600 baud, so I settled on 460800 for now.
-albertr
-
Here's a discussion I started, which floundered, about doing the same thing for the Sl-C860
https://www.oesf.org/forums/index.php?showtopic=13238 (https://www.oesf.org/forums/index.php?showtopic=13238)
-
I think doing 860 would be even more challenging than C1K, since if I remember correctly the fifo size of PXA25X is half of that on PXA27X (32 vs 64 bytes).
It looks like there're only two of us on this forum who are interested in the subject
-albertr
-
I think doing 860 would be even more challenging than C1K, since if I remember correctly the fifo size of PXA25X is half of that on PXA27X (32 vs 64 bytes).
true, but even a slow-ish bluetooth link is usable. I can understand why people bought the bluetooth air-cable, to make use of the serial port now. Pity they're relatively rare 2nd hand, and not cheap.
It looks like there're only two of us on this forum who are interested in the subject
-albertr
three, if you include someone putting one inside a 6000 to turn it into a 6000W, so far he's put a module inside, but struggling with the power I think. But yes, a surprisingly low number considering how people rave about a clamshell with built-in wireless.
-
As far as module's power consumption goes, I'll need to find +3.3V or +5V (both would work in my case) with peak load of approx. 50-80mA (@ 3.3V). I'm not sure how IRDA transmitter power is controlled and what's its peak load capability. If it can supply 80mA and can be software controlled (via some GPIO pin?) I can use it. Otherwise I'll need to find other source. If anyone has ideas on what it could be, please let me know...
[div align=\"right\"][{POST_SNAPBACK}][/a][/div] (http://index.php?act=findpost&pid=86440\")
As a power source, have a look at the CF ports. It should have 3.3V and maybe also 5V available.
I have developed a backlight upgrade for the HP 200LX which needed quite some current at 5V. I used the 5V source of the PCMCIA port of the 200LX and a GPIO line of the processor to control power using a software driver with hotkey (see [a href=\"http://www.daniel-hertrich.de/backlight/install]http://www.daniel-hertrich.de/backlight/install[/url] ).
The "power switch" was in that case built into the backlight driver chip, which I could directly connect the GPIO pin to.
For the Zaurus BT project, a simple trnsistor circuit or something like that could combine a GPIO line for switching and the power source to a GPIO-controlled high-current power source.
daniel
-
It looks like there're only two of us on this forum who are interested in the subject
[div align=\"right\"][a href=\"index.php?act=findpost&pid=86541\"][{POST_SNAPBACK}][/a][/div]
Oh, not at all! I'm very interested in this project.
The only problem for me is that I have only one C3000 and I use it for my daily work, so I cannot risk any damage to it. So I have to wait until I have a second (backup) unit some day to make such exprtiments.
I had and still have several HP 200LX units which I did many hardware hacks on (backlight, LED front light, ear phones output, IR port shielding against EMI, memory and speed upgrades, and recently of course the idea came up to attach a bluetooth module to the serial port :-)
daniel
-
It looks like there're only two of us on this forum who are interested in the subject
Nope, I'm sure there are a lot of interest in it. I'll follow your's research to stick BT module in my C3000 (if it will fit in it).
-
Nope, I'm sure there are a lot of interest in it. I'll follow your's research to stick BT module in my C3000 (if it will fit in it).
might be harder in the C3000 - the C1000 has all the space where the microdrive would be.
-
The backlight mod that you did is pretty cool. Complexity-wise, adding a serial bluetooth module shouldn't be that hard. Hardware changes are minimum, it's mostly all software to get it run reliably. As far as CF slot goes, I think it's 3.3V only in C1K (860 might have both 3.3V & 5V). Regardless, it's a dedicated power domain and it's controlled by pcmcia sybsystem, i.e. power is on on insert/resume pcmcia events, power is off on remove/suspend events, so it can't be used for other purposes which require its own power control.
I'm still not sure where to draw power from. I would like to have software control over it. If nothing suitable found, I might end up pumping it from sd/mmc slot (assuming that sharp's sdmmc driver didn't turn it off when card is removed). Any other ideas?
-albertr
-
i am still intrested in the internal usb ports that could be used (the pxa had 3 host ports and one client that could be multiplexed with one of the host ones) however these werent balanced lines so were basically the D+ line without the D- one so some dongles may not work with it
i belive thats what the guy who did the mod connected it to. which would be great as then i could have another usb port for bluetooth, wifi or anything else i like, i do remeber him mentioning power bieng a problem but you can get that from the usb mini port
-
Sorry, was busy with other projects last weekend....
-albertr
-
As far as CF slot goes, I think it's 3.3V only in C1K (860 might have both 3.3V & 5V). Regardless, it's a dedicated power domain and it's controlled by pcmcia sybsystem, i.e. power is on on insert/resume pcmcia events, power is off on remove/suspend events, so it can't be used for other purposes which require its own power control.
[div align=\"right\"][{POST_SNAPBACK}][/a][/div] (http://index.php?act=findpost&pid=86625\")
PCMCIA at least has two power lines: One switched by software and a permanent one. There must be a permanent one in order to detect a card insertion. If it is stong enough, it could be used to power other devices as well.
According to this: [a href=\"http://www.interfacebus.com/CompactFlash_Memory_Module_pinout.html]http://www.interfacebus.com/CompactFlash_M...ule_pinout.html[/url]
it should be pin 13 and pin 38 of the CF port.
In order to switch cards with software on and off, IIRC the /CE lines (card enable) are used. If they are inactive (i.e. high, they are active low), the card switches off power internally, but the lines 13 and 38 should still lead power.
I have no way to confirm that by measurements at the moment, but I'm pretty sure this is the way it works. At least for PCMCIA this is true and as these two interfaces have only minor differences, it should also be true for CF.
daniel
-
i like the idea here, but let me get a few things straight:
1. are you guys trying to use the sharp i/o port's USB port?
2. if not, is this possible?
-
I'm definitely interesting in what comes of all this. I wish I had the electronics know-how to be able to help and experiment. I would gladly torture my devices till I got something to work
Hmm... guess I better start crackin' on learning all I can 'bout the electronics involved... I had years ago but had some $$$ problems and that went out the door...
Good luck to you all and please keep up the good work on investigating this!
-
Albertr at HPC.RU wrote:
BTW, how did you manage to trace the BTUART lines? I hope you didn't have to unsolder the CPU for that?
No i didn't . I've found a picture of the PCB with unsoldered CPU at this link:
http://digit.que.ne.jp/visit/index.cgi?Lin...%EA%C1%FD%C0%DF (http://digit.que.ne.jp/visit/index.cgi?Linux%A5%B6%A5%A6%A5%EB%A5%B9%B3%AB%C8%AF%A5%E1%A5%E2%2F%A5%CF%A1%BC%A5%C9%A5%A6%A5%A7%A5%A2%2FC700%A5%E1%A5%E2%A5%EA%C1%FD%C0%DF).
Are you using H4 serial protocol? If so, BCSP could be helpful if you can't use uart hardware flow control. You mentioned that you can run HCI inquiry command, but what problems do you have?
Yes i'm using H4 protocol for now. I would like to use BCSP but this needs to change PS key in the module. Thats the problem because H4 link is not stable enougth to do that. I'm using USB BT dongle. So i'm was able to change CSR boot mode to UART with pskey tool from bluez project? but this tool cannot change a key numbered 191 wich controls speed and other paramteters wich are needed for BCSP to work. So i've has two choises: 1 - is to set it to H4 with hope that i can change this later throught serial interface(there is a tool from affix project that can do that), or 2 - is to set it in BCSP mode and make the module totaly unusable.
How do you control the power of BT module? Is it constantly on or software-controlled?
The power is constantly for now and is taked from Zaurus SIO PORT( there is a VCC 3,3 pin there with 200ma max current). But if i find some free gpio i'll do a software control for it throught a PNP transistor.
As far as software goes, I didn't find anything in Sharp;s 2.4.20 kernel that would indicate that BTUART lines are used for anything else. But again, C1K/C3K design is quite different, and the kernel you use is probably different too.
I will look in 2.4.20 kernel. But as for now i've found that in my C700 all BTUART line are used, including RX and TX to control internal buzzer and battery charging and this making me sad. i'm looking into Sharps asic IC now. It may have some free GPIO pins.
-
Thanks for sharing your experience! Now I see how you traced uart lines
Here's a direct link to that picture: http://zaurus-ja.sourceforge.jp/images/sl-...250_removed.jpg (http://zaurus-ja.sourceforge.jp/images/sl-c700/c700_ram_upgrade/c700_sdram_pxa250_removed.jpg)
Whoever did that had real nerve! I wish someone do the same to C1K/C3K, cause I'm afraid that pcb layout is different. However, it might be very helpful for folks who have 7x0/860 devices.
What do you mean under "not stable"? At what baud rate? You may want to try to short flying leads, or maybe even better - shield them to avoid interference. I'm not an electric engineer, but do you have an o'scope to check the signal?
As far as CSR module programming goes, take a look at their support web site. They have all required documentation available, so you can easily modify pskeys or write your own code to do that. I wrote some piece awhile ago for Win32 and can make it available on my site, so it can be used as a sample. Just let me know...
It seems weird that TX/RX BTUART lines are used in C700. Are you sure in this? You may want to grep for relevant register addresses on the kernel source to see where it gets used.
-albertr
-
Thanks for sharing your experience! Now I see how you traced uart lines wink.gif
Yes. Exactly.
Whoever did that had real nerve! I wish someone do the same to C1K/C3K, cause I'm afraid that pcb layout is different. However, it might be very helpful for folks who have 7x0/860 devices.
You may try to trace it another way: take devmem2 utility )from for example here http://2x4ever-vpn.compot.ru/zaurus/devmem2/devmem2 (http://2x4ever-vpn.compot.ru/zaurus/devmem2/devmem2) - compiled for arm) and write a little scipt to trigger a necessary GPIO pins while zaurus is running and oscilloscoping a PCB around CPU.
This shoud trigger TX/RX up and down ever second (for PXA250):
# while true; do devmem2 0x40E0001C 0xC00; sleep 1; devmem2 0x40E00028 0xC00; done
What do you mean under "not stable"? At what baud rate? You may want to try to short flying leads, or maybe even better - shield them to avoid interference. I'm not an electric engineer, but do you have an o'scope to check the signal?
Dongle is configured to use CTS/RTS at 230400 speed and works a second or two after that dongle is stops sending anything. When i'm reseting dongle it continues. While it is works for hcitool it doesn't works for PSKEY utility. I'm able to read a length of the PS key but not a contained info. Now i'm soldering dongle to a FFUART to use CTS/RTS and will try to change PS keys.
It seems weird that TX/RX BTUART lines are used in C700. Are you sure in this? You may want to grep for relevant register addresses on the kernel source to see where it gets used.
I'm sure. In the picture i've provided you can see that BTRXD is going to the chip named 2149 282 JRC. Googling on this gives me the folowing datasheet http://www.njr.co.jp/pdf/de/de05035.pdf (http://www.njr.co.jp/pdf/de/de05035.pdf). This is an amplifier for a zaurus buzzer.
While i can't trace where BTTXD goes, grepping source of the linux 2.6 kernel for zaurus gives the folowing defines wich are used in a battery charge code:
#define CORGI_GPIO_DISCHARGE_ON (42) /* Enable battery Discharge */
#define CORGI_GPIO_CHRG_UKN (43) /* Unknown Charging (Bypass Control?) */
-
You may try to trace it another way: take devmem2 utility )from for example here http://2x4ever-vpn.compot.ru/zaurus/devmem2/devmem2 (http://2x4ever-vpn.compot.ru/zaurus/devmem2/devmem2) - compiled for arm) and write a little scipt to trigger a necessary GPIO pins while zaurus is running and oscilloscoping a PCB around CPU.
This shoud trigger TX/RX up and down ever second (for PXA250):
# while true; do devmem2 0x40E0001C 0xC00; sleep 1; devmem2 0x40E00028 0xC00; done
That's a good idea in case there;s a suspected line. However, probing every line available doesn't seem to be practical unless you want to push your luck
Dongle is configured to use CTS/RTS at 230400 speed and works a second or two after that dongle is stops sending anything. When i'm reseting dongle it continues. While it is works for hcitool it doesn't works for PSKEY utility. I'm able to read a length of the PS key but not a contained info. Now i'm soldering dongle to a FFUART to use CTS/RTS and will try to change PS keys.
Looks like a mising flow control, unless you see frame or parity errors. If that's the case, then BCSP should help.
I'm sure. In the picture i've provided you can see that BTRXD is going to the chip named 2149 282 JRC. Googling on this gives me the folowing datasheet http://www.njr.co.jp/pdf/de/de05035.pdf (http://www.njr.co.jp/pdf/de/de05035.pdf). This is an amplifier for a zaurus buzzer.
While i can't trace where BTTXD goes, grepping source of the linux 2.6 kernel for zaurus gives the folowing defines wich are used in a battery charge code:
#define CORGI_GPIO_DISCHARGE_ON (42) /* Enable battery Discharge */
#define CORGI_GPIO_CHRG_UKN (43) /* Unknown Charging (Bypass Control?) *
Interesting... Of course, they can steal GPIO pins, but what they're gonna do with data lines? And how buzzer can send any data to uart? Weird...
I'll try to take a look at 2.4.20 kernel source to see if there's any use of btuart data lines I have missed...
-albertr
-
Any of BTUART pins can be used as usualy GPIO pins. This is so called alternate GPIO function and is described in intel's datasheet. So when BTUART is disabled all its pins are working as just any other GPIO pins. And BTUART is disabled by default in kernel source.
static void __init corgi_map_io(void)
{
pxa_map_io();
iotable_init(corgi_io_desc);
#if 0
/* This enables the BTUART */
CKEN |= CKEN7_BTUART;
set_GPIO_mode(GPIO42_BTRXD_MD);
set_GPIO_mode(GPIO43_BTTXD_MD);
set_GPIO_mode(GPIO44_BTCTS_MD);
set_GPIO_mode(GPIO45_BTRTS_MD);
#endif
/* setup sleep mode values */
PWER = 0x00000002;
PFER = 0x00000000;
PRER = 0x00000002;
PGSR0 = 0x0158C000;
PGSR1 = 0x00FF0080;
PGSR2 = 0x0001C004;
PCFR |= PCFR_OPDE;
}
-
Ahh, right! Sorry, I completely overlooked that...
Too bad that GPIO 42 & 43 pins are used in PXA250-based clamshell Zauruses. It looks like they are *NOT* used on PXA270-based Zauruses (scoop's GPIO used instead), but tracing them might be a challenge.
-albertr
-
Ahh, right! Sorry, I completely overlooked that...
Too bad that GPIO 42 & 43 pins are used in PXA250-based clamshell Zauruses. It looks like they are *NOT* used on PXA270-based Zauruses (scoop's GPIO used instead), but tracing them might be a challenge.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=93976\"][{POST_SNAPBACK}][/a][/div]
I've finaly figured out for what this pins are used for - for battery charge and discharge controls and i'll try to resolder this controls to scoop if i'll find free GPIOs on it. And in the last resort i can use FFUART. It is possible to share it with bluetooth and use it as usual uart when bluetooth is disabled. The only thing that stopping me to do that is speed. FFUART's maximum speed is limited to 230400 on PXA250. By the way, i've soldered dongle to the FFUART and succesfully changed H4 to BCSP.
-
It would be interesnting to fetch a datasheer for a scoop somewhere. Maybe it have some UART. And it would be much more easy to solder to it since it doesn't have this nasty bga package. At least in C700
-
Ahh, right! Sorry, I completely overlooked that...
Too bad that GPIO 42 & 43 pins are used in PXA250-based clamshell Zauruses. It looks like they are *NOT* used on PXA270-based Zauruses (scoop's GPIO used instead), but tracing them might be a challenge.
-albertr
[div align=\"right\"][{POST_SNAPBACK}][/a][/div] (http://index.php?act=findpost&pid=93976\")
what's the difference between the pxa250 (700 and 5600) and pxa255 (760,860)? This discussion is making me excited about the possibilities of squeezing a BT module inside my 860!
useful table:
[a href=\"http://tuxmobil.org/pda_survey_sharp.html]http://tuxmobil.org/pda_survey_sharp.html[/url]
--- edit ---
ah, apparently the 255 has 30% lower power consumption, and a faster clock speed, and a faster bus (200 not 100 MHz).
-
http://repair4pda.org/disassembly_sharp.html (http://repair4pda.org/disassembly_sharp.html)
-
I believe the scoop is a proprientary Sharp's ASIC, so the datasheet most probably never would be published or made public.
-albertr
-
What about stuart? In case you don;t need SIR.
-albertr
-
ah, apparently the 255 has 30% lower power consumption, and a faster clock speed, and a faster bus (200 not 100 MHz).
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94114\"][{POST_SNAPBACK}][/a][/div]
This is the only difference i think. And you will suffer the same troubles which i have with my C700.
-
I believe the scoop is a proprientary Sharp's ASIC, so the datasheet most probably never would be published or made public.
Yes it is an ASIC but by EPSON: http://www.eea.epson.com/go/Prod_Admin/Cat...ays.GA_SLA50000 (http://www.eea.epson.com/go/Prod_Admin/Categories/EEA/IC/ASIC/Gate_Arrays/GA_SLA50000/displayItem?itemId=S1L50752&categoryId=EEA.IC.ASIC.Gate_Arrays.GA_SLA50000)
This is a gate array and we probably will never know what sharp has putted into it. It is a pity.
What about stuart? In case you don;t need SIR.
I'd better use FFUART since it have RTS/CTS lines. And stuart is such slow as ffuart is.
-
Yes it is an ASIC but by EPSON: http://www.eea.epson.com/go/Prod_Admin/Cat...ays.GA_SLA50000 (http://www.eea.epson.com/go/Prod_Admin/Categories/EEA/IC/ASIC/Gate_Arrays/GA_SLA50000/displayItem?itemId=S1L50752&categoryId=EEA.IC.ASIC.Gate_Arrays.GA_SLA50000)
This is a gate array and we probably will never know what sharp has putted into it. It is a pity.
not necessarily.. it depends on how the gate array is programmed. if it's programmed by Epson, then we're out of luck. If it's a field programmable array and programmed on the board, then maybe just maybe Sharp don't protect the array so it could be read out again from its firmware.
However, even if we did have the firmware file, it's a huge effort to reverse engineer the programmer's logic from it.
sigh.
-
not necessarily.. it depends on how the gate array is programmed. if it's programmed by Epson, then we're out of luck. If it's a field programmable array and programmed on the board, then maybe just maybe Sharp don't protect the array so it could be read out again from its firmware.
However, even if we did have the firmware file, it's a huge effort to reverse engineer the programmer's logic from it.
sigh.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94167\"][{POST_SNAPBACK}][/a][/div]
If i'm understanding a datasheet provided by epson right than it's programmed by Epson.
I've just discovered that FFUART on my pxa250 is working very good at baud rates exceeding 230400. And that's strange because intel says allmost on every page of it's datasheet that you must not exceed this speed. Anyway i'll do more testing and if it will work stable enought than that will be a solution.
-
If i'm understanding a datasheet provided by epson right than it's programmed by Epson.
it's unlikely then that the firmware can be recovered. :-(
I've just discovered that FFUART on my pxa250 is working very good at baud rates exceeding 230400. And that's strange because intel says allmost on every page of it's datasheet that you must not exceed this speed. Anyway i'll do more testing and if it will work stable enought than that will be a solution.
I'd be concerned that this could damage the drivers in the long run, or simply cause overheating in localised hotspots on the CPU and damage it.
I presume from your comments that you've successfully connected a BT module to your SL-C700. What module did you use, and do you have photos of how you connected it?
Paul
-
I'd be concerned that this could damage the drivers in the long run, or simply cause overheating in localised hotspots on the CPU and damage it.
I don't think so. I don't think that increasing speed of a couple of transistors can cause any overheating of the CPU even in localised hotspots. A CPU core isn't located just in the air. It's contained in a package that among other things is distributing a heat over the whole CPU. And since this CPU was not made using 90 nm tehnology not even 130 nm it has a big reserve for overheating. And i've not seen any rising temp. Anyway i'm still testing.
I presume from your comments that you've successfully connected a BT module to your SL-C700. What module did you use, and do you have photos of how you connected it?
I'm using USB Bluetooth Class 1 dongle from Billionton.
http://2x4ever-vpn.compot.ru/zaurus/pics/dongle-zaurus.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/dongle-zaurus.jpg)
I'll post some more images if you want.
-
I'm using USB Bluetooth Class 1 dongle from Billionton.
http://2x4ever-vpn.compot.ru/zaurus/pics/dongle-zaurus.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/dongle-zaurus.jpg)
I'll post some more images if you want.
I thought that Class 1 device would eat battery faster than Class 2 because of transmit power? Also peak power load is suppoosed to be higher. Where you woud attach that huge antenna?
How fast you are able to run your ffuart? I'm getting 460800 on C1K ffuart (pxa270), but having problems @ 921600.
-albertr
-
I thought that Class 1 device would eat battery faster than Class 2 because of transmit power? Also peak power load is suppoosed to be higher.
Yes i know(My tester shows 75 ma peak power load), but i like it
Where you woud attach that huge antenna?
I'll cut this plastic antenna cover out.
How fast you are able to run your ffuart? I'm getting 460800 on C1K ffuart (pxa270), but having problems @ 921600.
921600 is working but i've not tested it with high traffic yet.
-
921600 is working but i've not tested it with high traffic yet.
Very interesting... I assume that's with the serial driver from Sharp's 2.4.18 kernel?
And with BCSP protocol (no hardware flow control)?
-albertr
-
921600 is working but i've not tested it with high traffic yet.
Very interesting... I assume that's with the serial driver from Sharp's 2.4.18 kernel?
And with BCSP protocol (no hardware flow control)?
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94198\"][{POST_SNAPBACK}][/a][/div]
Right.
-
921600 is working but i've not tested it with high traffic yet.
Very interesting... I assume that's with the serial driver from Sharp's 2.4.18 kernel?
And with BCSP protocol (no hardware flow control)?
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94198\"][{POST_SNAPBACK}][/a][/div]
Right.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94199\"][{POST_SNAPBACK}][/a][/div]
It looks very interesting. Can you write a guide how to do it? Or take a bit more pictures... I didn't understand, do you have any power control on your bluetooth now, or not?
Thanks.
Mikhail
-
It looks very interesting. Can you write a guide how to do it? Or take a bit more pictures... I didn't understand, do you have any power control on your bluetooth now, or not?
Thanks.
Mikhail
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94203\"][{POST_SNAPBACK}][/a][/div]
I'll write a guide when i finish. There is nothing to write about for now. I'll provide some more pictures tomorrov (4:35:40 AM here and i'm going to sleep). The only power control i have for now is cutting wires . I still need to find free GPIO pin to do the power control .
-
I'll write a guide when i finish. There is nothing to write about for now. I'll provide some more pictures tomorrov (4:35:40 AM here and i'm going to sleep).
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94203\"][{POST_SNAPBACK}][/a][/div]
I am now... I am falling to sleep...
The only power control i have for now is cutting wires
It's not so bad idea If you have the antena outside - you can set a small switcher on the back.
But, by the way, is it possible to use same gpio which are used for the Zaurus syncronization cable? I don't know much about it, but I think an ability... May be, you can use this? For example, if zaurus are in connection with computer there is no ability to change bluetooth power (it can be turned on - if you have Zaurus in the connection, so, perhaps you also have a power supply pluged in), but, when you have cable unpluged you can change power on the bluetooth... You can also take power from synchronization cable...
To albert:
Why you didn't want to create in your C1000 small usb hub and use it for usual usb connection with a usb bluetooth dongle?
Mikhail
-
Why you didn't want to create in your C1000 small usb hub and use it for usual usb connection with a usb bluetooth dongle?
I thought about it. I even tried to wire a small 1.1 hib, but my soldering skills are not so good, so I guess I just fried it. Pity, but it didn't work out.
-albertr
-
Sh*t. My bluetooth dongle is just sudenly stopped to work today. I can't even imagine why it did this. There is no any signal on the UART and USB. It's seems that i must buy a new dongle.
-
Ugh... In case you will be looking for a Class 2 dongle, I have a small writeup on Billionton Class 2 dongle here: http://www.iral.com/~albertr/billionton/ (http://www.iral.com/~albertr/billionton/)
-albertr
-
Sorry, Albert, i don't know why but i can't open your site. While connection is istablished serves doesn't response anything util timeout occurs.
9:05 PM: Successfully opened your link through the proxy.
-
I've bought the same billionton class 1 dongle as that which i've used before and but it's completely different inside. It is based on BlueCore3-ROM chip and doesn't have UART traced on PCB. Image follows.
http://2x4ever-vpn.compot.ru/zaurus/pics/dongles.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/dongles.jpg)
Don't worry, i bought it a long time ago .
-
Yeah, BC2-Ext are getting hard to come by, since it's older and more expensive than BC3-Rom. Manufacturers (Billionton including) using different revisions based on parts availibility and costs. That's the reason I did that writeup on Class 2 dongles from Billionton.
-albertr
-
Yeah, BC2-Ext are getting hard to come by, since it's older and more expensive than BC3-Rom. Manufacturers (Billionton including) using different revisions based on parts availibility and costs. That's the reason I did that writeup on Class 2 dongles from Billionton.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94320\"][{POST_SNAPBACK}][/a][/div]
Thank's Albert. I'll consider the information from your write up.
-
I've just bought a new NONAME dongle. I was unable to find an old revision Billionton. Only v1.2. But it's seems that this noname dongle have the same design as billionton has.
Photos:
http://2x4ever-vpn.compot.ru/zaurus/pics/noname_dongle/ (http://2x4ever-vpn.compot.ru/zaurus/pics/noname_dongle/)
-
It looks close to BC2-Ext reference design, but not exactly it. I think I had some problems with this design awhile ago switching it into UART mode. Were you able to switch it?
-albertr
-
It looks close to BC2-Ext reference design, but not exactly it. I think I had some problems with this design awhile ago switching it into UART mode. Were you able to switch it?
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94380\"][{POST_SNAPBACK}][/a][/div]
Yes, i've switched it into UART mode without problems. The only problem was is to suggest UART pins since its placed in different place but oscilloscope is allways with me
-
I have another porblem. After switching it to BCSP mode i can't access its pskeys anymore. BTW i've upgraded its firmware to 16.4, can this be a problem?
-
Yes, i've switched it into UART mode without problems. The only problem was is to suggest UART pins since its placed in different place but oscilloscope is allways with me
Ahh, that was it, now I remember. I don't have an o'scope, so that was a real problem for me.
-albertr
-
I have another porblem. After switching it to BCSP mode i can't access its pskeys anymore. BTW i've upgraded its firmware to 16.4, can this be a problem?
Do you mean 16.14? If so, I don't think it should be a problem, at least I don;t rememeber seeing anything like this in the bugs list/release notes for this version.
You don't use a ram persistent store to temporary test your ps keys, do you? What I do here is writing new ps keys into ram and then rebooting the module to test it out. Once I'm satisfied with everything, I write it into flash to make permanent change.
-albertr
-
Do you mean 16.14? If so, I don't think it should be a problem, at least I don;t rememeber seeing anything like this in the bugs list/release notes for this version.
Yes 16.14.
You don't use a ram persistent store to temporary test your ps keys, do you? What I do here is writing new ps keys into ram and then rebooting the module to test it out. Once I'm satisfied with everything, I write it into flash to make permanent change.
-albertr
No i don't. I'm to lazy to write my own code for changin pskeys. So i'm using pskey provided by Fabrizio Gennari and it can't use a ram persistent store. Or maybe i had totaly mislooked something.
-
I don't use pskeys, but I believe it could be changed to use RAM store. Take a look at documentation available @ csrsupport.com.
On a side note, I recently acquired a DELL Trumobile 350 bluetooth module. It has a BC4-Ext w/ 8Mb flash inside and supports BT 2.0 specs with enhanced data rate (upto 3Mb/s). Even with slower uart speeds, the radio is supposed to transmit for shorted periods of time when communicating with other BT 2.0 devices, thus better power consumption. It also small in size, so could be a good fit inside the Zaurus. However, I have a problem with locating its pinout (it has a 10 pin connector and six additional soldering pads on the back). The module is manufactured by USI for DELL, but all design is done by CSR itself, so I'm sure it could be switched to uart mode. Here in the US, it's just a slightly more expensive than usb dongles, I think I paid approx. $20 for this module. Can you find one in Russia at reasonable price?
-albertr
-
I don't use pskeys, but I believe it could be changed to use RAM store. Take a look at documentation available @ csrsupport.com.
On a side note, I recently acquired a DELL Trumobile 350 bluetooth module. It has a BC4-Ext w/ 8Mb flash inside and supports BT 2.0 specs with enhanced data rate (upto 3Mb/s). Even with slower uart speeds, the radio is supposed to transmit for shorted periods of time when communicating with other BT 2.0 devices, thus better power consumption. It also small in size, so could be a good fit inside the Zaurus. However, I have a problem with locating its pinout (it has a 10 pin connector and six additional soldering pads on the back). The module is manufactured by USI for DELL, but all design is done by CSR itself, so I'm sure it could be switched to uart mode. Here in the US, it's just a slightly more expensive than usb dongles, I think I paid approx. $20 for this module. Can you find one in Russia at reasonable price?
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94389\"][{POST_SNAPBACK}][/a][/div]
I'm not fully understading what module a you tallking about. Is it a module use in Dell's notebooks? I'll take a look at prices. Can you post some images of it?
-
Ok. I figured out. At the first look (internet sites) there is no available modules for sale now. I'll try to call to a companies selling dell's notebooks and ask.
-
Correction: there're 17 soldering pads on the back of the module (not 6).
P.S. I'll post some pictures of it later tonight, have to run to "zharit' shashlik'" now
-albertr
-
zharit' shashlik - is great All other things can wait.
-
Here's the pics of DELL Truemobile 350 module compared to CF type I memory card:
http://www.iral.com/~albertr/billionton/dell350front.jpg (http://www.iral.com/~albertr/billionton/dell350front.jpg)
http://www.iral.com/~albertr/billionton/dell350back.jpg (http://www.iral.com/~albertr/billionton/dell350back.jpg)
Here's a picture of internal guts from FCC database: https://gullfoss2.fcc.gov/prod/oet/forms/bl...tive_or_pdf=pdf (https://gullfoss2.fcc.gov/prod/oet/forms/blobs/retrieve.cgi?attachment_id=468565&native_or_pdf=pdf)
-albertr
-
Cant wait to see this working so i can do it myself
-
I've contacted with an official Dell distributor in Russia and they will tell me about availability of this module tomorrow.
Cant wait to see this working so i can do it myself
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94515\"][{POST_SNAPBACK}][/a][/div]
Don't wait, try to help us
-
I've contacted with an official Dell distributor in Russia and they will tell me about availability of this module tomorrow.
While you are waiting answer from Dell can you tell me it is possible to use LED wires for control bluetooth power? I think, it is one of abilities. For example, we can use mail LED as Bluetooth LED and bluetooth power control.
-
I've contacted with an official Dell distributor in Russia and they will tell me about availability of this module tomorrow.
While you are waiting answer from Dell can you tell me it is possible to use LED wires for control bluetooth power? I think, it is one of abilities. For example, we can use mail LED as Bluetooth LED and bluetooth power control.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94552\"][{POST_SNAPBACK}][/a][/div]
Yes we can. But what if you want to leave this LED for mail notification?
-
I've contacted with an official Dell distributor in Russia and they will tell me about availability of this module tomorrow.
While you are waiting answer from Dell can you tell me it is possible to use LED wires for control bluetooth power? I think, it is one of abilities. For example, we can use mail LED as Bluetooth LED and bluetooth power control.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94552\"][{POST_SNAPBACK}][/a][/div]
Yes we can. But what if you want to leave this LED for mail notification?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94555\"][{POST_SNAPBACK}][/a][/div]
I just want to foget it
By the way, we can try to combine LEDs and power control.
How is LED control constructed? Perhaps, we can use somthing like one-wire control? I'm trying to find one-wire switcher or trigger to combine some functions.
-
For example:
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3818/ln/ (http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3818/ln/)
But, I hope that Zaurus LED control has a bit more abilities than it uses.
-
By the way, we can try to combine LEDs and power control.
How is LED control constructed? Perhaps, we can use somthing like one-wire control? I'm trying to find one-wire switcher or trigger to combine some functions.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94559\"][{POST_SNAPBACK}][/a][/div]
Sudden inspirational thought:
Why not just control the bluetooth module with the charging LED without fancy switching?!
1) if Z is being charged, the BT module is turned on. But since you're on charge, you don't care about the extra current drain! Unless of course you're using an external battery pack/charger which very few people do.
2) if the Z isn't plugged into a charger, then you know the BT module is on when LED is on, as it wouldn't be on otherwise.
Am I going mad or is this a good idea?
-
For example:
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3818/ln/ (http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3818/ln/)
But, I hope that Zaurus LED control has a bit more abilities than it uses.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94560\"][{POST_SNAPBACK}][/a][/div]
It's just a GPIO pin soldered to LED throught a PNP transistor. An one JK flip-flop is more than enougth to control the LED and the module separately
Am I going mad or is this a good idea?
This is a good idea.
-
Sudden inspirational thought:
Why not just control the bluetooth module with the charging LED without fancy switching?!
1) if Z is being charged, the BT module is turned on. But since you're on charge, you don't care about the extra current drain! Unless of course you're using an external battery pack/charger which very few people do.
2) if the Z isn't plugged into a charger, then you know the BT module is on when LED is on, as it wouldn't be on otherwise.
Am I going mad or is this a good idea?
What if you use bt to open an rfcomm connection to your phone to get online while on the road?
-albertr
-
If BCSP protorol is used, then I don't believe that power drain should be an issue. If serial driver would send break signal when port is closed, then BC will enter deep sleep mode where power drain is almost nil.
-albertr
-
If BCSP protorol is used, then I don't believe that power drain should be an issue. If serial driver would send break signal when port is closed, then BC will enter deep sleep mode where power drain is almost nil.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94570\"][{POST_SNAPBACK}][/a][/div]
But what if want to use your serial port for another things while BT is switched off?
I think we could mix speculatrix and mikekostousov solutions:
We can solder a JK flip-flop to the charge LED. To turn bluetooth on we just blink the LED one time. To switch BT off we must blink the LED once again. Then we must hook any access to the LED in kernel. So if any application is want to just blink the LED without turnin BT on we hook this and switching the LED twice very quick so it will not visible to user and BT does not switching on.
-
Umm, I wasn't thinking about using the same serial port for both bluetooth and serial connections. How that could be done?
I believe that charging LED control is only used in the kernel code. I might be wrong, but it doesn't look like this LED is used in QT/Qtopia. If so, it shouldn't be hard to modify this code to blink twice or whatever.
-albertr
-
Umm, I wasn't thinking about using the same serial port for both bluetooth and serial connections. How that could be done?
I believe that charging LED control is only used in the kernel code. I might be wrong, but it doesn't look like this LED is used in QT/Qtopia. If so, it shouldn't be hard to modify this code to blink twice or whatever.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94573\"][{POST_SNAPBACK}][/a][/div]
It cannot be used for both bt and serial connections at the same time of course. But when BT is switched off a use of this serial port for other things shouldn't be a problem. However it may require some diodes to be soldered.
-
Umm, I wasn't thinking about using the same serial port for both bluetooth and serial connections. How that could be done?
It cannot be used for both bt and serial connections at the same time of course. But when BT is switched off a use of this serial port for other things shouldn't be a problem. However it may require some diodes to be soldered.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94574\"][{POST_SNAPBACK}][/a][/div]
why not steal the IRDA serial lines? are they actually any use at all?
-
Umm, I wasn't thinking about using the same serial port for both bluetooth and serial connections. How that could be done?
It cannot be used for both bt and serial connections at the same time of course. But when BT is switched off a use of this serial port for other things shouldn't be a problem. However it may require some diodes to be soldered.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94574\"][{POST_SNAPBACK}][/a][/div]
why not steal the IRDA serial lines? are they actually any use at all?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94586\"][{POST_SNAPBACK}][/a][/div]
Yes. I'm using irda time to time. Not all of my friends have bluetooth enabled hardware.
But actualy we can share irda serial line with bluetooth.
-
Umm, I wasn't thinking about using the same serial port for both bluetooth and serial connections. How that could be done?
It cannot be used for both bt and serial connections at the same time of course. But when BT is switched off a use of this serial port for other things shouldn't be a problem. However it may require some diodes to be soldered.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94574\"][{POST_SNAPBACK}][/a][/div]
why not steal the IRDA serial lines? are they actually any use at all?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94586\"][{POST_SNAPBACK}][/a][/div]
Yes. I'm using irda time to time. Not all of my friends have bluetooth enabled hardware.
But actualy we can share irda serial line with bluetooth.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94591\"][{POST_SNAPBACK}][/a][/div]
Ok.. If you turned external power on, the power LED is turned on and you will take bluetooth power on and all irda hardware down...
Is it ok?
-
Ok.. If you turned external power on, the power LED is turned on and you will take bluetooth power on and all irda hardware down...
Is it ok?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94601\"][{POST_SNAPBACK}][/a][/div]
No. The power LED is controlled by kernel so we can track the moment when external power cord is connected and turn on the power LED twice quickly. The pull-down capacitor will not allow BT to be turned on during this procedure. The only place where we can't track the moment of applying power is when device is in sleep mode or is switched off. But IRDA transiver is switched of at this moment too so this is not an issue.
-
The whole schematic should be a somthing like this:
http://2x4ever-vpn.compot.ru/zaurus/pics/p...l_schematic.PNG (http://2x4ever-vpn.compot.ru/zaurus/pics/power_control_schematic.PNG)
Warning: transister connection is totaly wrong.
-
The whole schematic should be a somthing like this:
http://2x4ever-vpn.compot.ru/zaurus/pics/p...l_schematic.PNG (http://2x4ever-vpn.compot.ru/zaurus/pics/power_control_schematic.PNG)
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94604\"][{POST_SNAPBACK}][/a][/div]
I think, the schematic is ok, but I don't know much about it. Why are you using such small resistance parallel to bluetooth? How long must delay be between impulses on JK flip-flop? I think, it will be great to filter dirty impulses which are generated when power plugin are slightly setted in the chassis. Perhaps, it is better to work with mail LED? Because we don't have any external events (such as power connection) which can be applied on the mail LED.
-
Sudden inspirational thought:
Why not just control the bluetooth module with the charging LED without fancy switching?!
1) if Z is being charged, the BT module is turned on. But since you're on charge, you don't care about the extra current drain! Unless of course you're using an external battery pack/charger which very few people do.
2) if the Z isn't plugged into a charger, then you know the BT module is on when LED is on, as it wouldn't be on otherwise.
What if you use bt to open an rfcomm connection to your phone to get online while on the road?
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94566\"][{POST_SNAPBACK}][/a][/div]
I don't understand what the problem is... the charge LED is an OR of "BT-on" OR "charging"...
if you use an in-car charger, well, the Bluetooth is turned on when you start charging 'cos the light comes on.
if you're not charging, no external power, we override the LED anyway as it's software controlled and not connected to the charging circuitry per se.
Paul
-
Ahh, now I see what you are saying... Sorry, I misunderstood your original post.
-albertr
-
try typing ledctl on your command line, should give you the help for it
the led is software based connected to the pxa io pins so asm code should be able to switch it i belive,mabey ethier way that led program allows you to change it
if i rember corectly the 2.6 kerenel has support for led's throght the device /dev/led, cant remeber the major/minor thogh
-
I came across an advert for a company who sell embedded bluetooth modules...
http://www.adaptblue.com/wireless_tech_full_list.htm (http://www.adaptblue.com/wireless_tech_full_list.htm)
the small one is only 13.5 mm x 10 mm x 1.9 m, but it probably needs some interface circuitry and external aerial.
meanwhile, I have a friend of a friend who works at CSR, so I am wondering if I can get hold of an engineering sample of a small module. I presume I just need to find one that has a 3.3V logic level serial interface that runs in 2-wire UART mode?
-
Can your friend's friend help with getting a hold of schemantics or at least connector pin-out of DELL Trumobile 350 module? Assuming it's not a top-secret information? The module is manufactured by USI, but design and certification is done by CSR itself.
-albertr
-
I came across an advert for a company who sell embedded bluetooth modules...
http://www.adaptblue.com/wireless_tech_full_list.htm (http://www.adaptblue.com/wireless_tech_full_list.htm)
the small one is only 13.5 mm x 10 mm x 1.9 m, but it probably needs some interface circuitry and external aerial.
meanwhile, I have a friend of a friend who works at CSR, so I am wondering if I can get hold of an engineering sample of a small module. I presume I just need to find one that has a 3.3V logic level serial interface that runs in 2-wire UART mode?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94676\"][{POST_SNAPBACK}][/a][/div]
Why don't you want just use an USB dongle? It's small enought to fit it into zaurus and uses 3.3 v logic level.
-
Can your friend's friend help with getting a hold of schemantics or at least connector pin-out of DELL Trumobile 350 module? Assuming it's not a top-secret information? The module is manufactured by USI, but design and certification is done by CSR itself.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94681\"][{POST_SNAPBACK}][/a][/div]
I've fired off the request. Maybe I'll strike lucky and get offered some engineering samples :-)
-
Can your friend's friend help with getting a hold of schemantics or at least connector pin-out of DELL Trumobile 350 module? Assuming it's not a top-secret information? The module is manufactured by USI, but design and certification is done by CSR itself.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94681\"][{POST_SNAPBACK}][/a][/div]
I've fired off the request. Maybe I'll strike lucky and get offered some engineering samples :-)
[div align=\"right\"][a href=\"index.php?act=findpost&pid=94686\"][{POST_SNAPBACK}][/a][/div]
Is there any sucsess with bluetooth?
-
not had a response from my contact, but he tends to spend a lot of time away, plus if he's got kids, he'll probably be having a last minute holiday before schools restart.
so, in summary... all we need is the right bluetooth modules and to swap the flash and RAM chips in the 3100, replace the internal microdrive with a wireless lan adaptor, and we've got the ultimate PDA!
-
sorry, still no news
-
Just got news from CSR (Thanks, Miguel!) - There're no UART lines traced on DELL 350 module to either its connector or pads. So this module is NO good for using as a serial module. Sorry for bad news, folks...
-albertr
-
any one know if there is a second usb port with tracks going somwhere we can solder ot, the pxa in those chips have 3 usb host ports and one client port (the client port can also reroute the signalks from one of the usb host ports to do usb OTG)
-
albertr, i need your help
It's seems that you know sharp's serial driver internal very well. After finishing all the soldering stuff i have a problem with software now. The problem is that when i run hciattach it initializing bt module and then after a second or bit less zaurus is fully, totaly , absolutely hangs. If i enable DEBUG stuff in the driver then it doesn't hangs but BT isn't working well.
-
Umm... weird. Is it in BCSP mode? Can you see if kernel spits out any error messages? I.e. configure syslog to log everything out to console, make your current vt a console and run attach command from this vt?
-albertr
-
Umm... weird. Is it in BCSP mode? Can you see if kernel spits out any error messages? I.e. configure syslog to log everything out to console, make your current vt a console and run attach command from this vt?
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=95698\"][{POST_SNAPBACK}][/a][/div]
Yes it's in BCSP mode. I can't see any kernel error messages since it's hangs so completle that even fb driver isn't working. Some times it doesn't hangs and all working very good until i relaunch hciattach. And this is happening at any speed even at 38400.
-
By the way: i've tried your desharpised serial driver? but it seems that it isn't designed to work with an old pxa. It isn't receiving any characters.
-
If you didn't solder it to ffuart, how about running getty on ttyS0 and redirecting console output there?
The serial driver has some PXA270 dependencies, i.e. fifo size.
-albertr
-
If you didn't solder it to ffuart, how about running getty on ttyS0 and redirecting console output there?
The serial driver has some PXA270 dependencies, i.e. fifo size.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=95702\"][{POST_SNAPBACK}][/a][/div]
I've burned my ffuart so this isn't possible. I've changed FIFO size to 32 is there any other dependencies?
-
Ok i've got an OOPS with kernel panic "Aiee, killing interrupt handler! In interrupt handler - not syncing". I will check a backtrace.
-
Fifo size is defined in linux/include/asm-arm/arch-pxa/serial.h, make sure it's 32 bytes for PXA25X.
I think fifo thresholds might need to be adjusted as well, i.e.: check UART_FCR_TRIGGER_14 vs. UART_FCR_TRIGGER_8 where appropriate.
Errata #20 does not apply to PXA25X, so it needs to be undefined.
You may want to check conditional code (controlled by other defines) as well, since I didn't have PXA25X in mind, i.e. grep for "PXA" and "SHARP" defines.
-albertr
-
2x4ever,
Just curious how did you make it out?
-albertr
-
2x4ever,
Just curious how did you make it out?
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96044\"][{POST_SNAPBACK}][/a][/div]
What do you mean? How did i soldered it and where? I've soldered it to STUART. But STUART is sucks. Doesn't actualy working at speed > 38400.
I've just received my renewed C700 from Maslovsky Not it has a new PXA255 CPU and 128 MB RAM onboard. I will try to solder BT module to FFUART again.
-
2x4ever,
Just curious how did you make it out?
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96044\"][{POST_SNAPBACK}][/a][/div]
What do you mean? How did i soldered it and where? I've soldered it to STUART. But STUART is sucks. Doesn't actualy working at speed > 38400.
I've just received my renewed C700 from Maslovsky Not it has a new PXA255 CPU and 128 MB RAM onboard. I will try to solder BT module to FFUART again.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96045\"][{POST_SNAPBACK}][/a][/div]
My Z will be 2nd in Russia to have built-in bluetooth
-
I was just wondering if you overcame that kernel panic problem you had. Well, congrats on your 128MB C700 revival!
-albertr
-
I've just received my renewed C700 from Maslovsky Not it has a new PXA255 CPU and 128 MB RAM onboard. I will try to solder BT module to FFUART again.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96045\"][{POST_SNAPBACK}][/a][/div]
Is that 128 RAM, or storage space? Is there a thread somewhere describing/discussing the process?
Cheers!
-
Anton,
Are you talking about your c860 or c1k? If you guys find a way to trace btuart lines on c1k's pcb, please let me know. I'm not ready to lose my ffuart yet, still need it for serial communications. Also, if anyone would be brave enough to desolder pxa270 from C1k/c3K/c3.1K pcb, I'd like to see hi-res pictures.
-albertr
-
I was just wondering if you overcame that kernel panic problem you had. Well, congrats on your 128MB C700 revival!
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96055\"][{POST_SNAPBACK}][/a][/div]
I just made a small workaround. But the problem is still exists. When HCI layer is calling serial driver write function this sometime couses bcsp layer's pointers corruption.
-
Interesting... I'm using Affix and bcsp support seems to be ok there.
-albertr
-
Interesting... I'm using Affix and bcsp support seems to be ok there.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96059\"][{POST_SNAPBACK}][/a][/div]
The problem isn't in bluez, i think. It's seems that the sharp's serial driver couses some memory corruption.
-
I've just received my renewed C700 from Maslovsky Not it has a new PXA255 CPU and 128 MB RAM onboard. I will try to solder BT module to FFUART again.
[div align=\"right\"][{POST_SNAPBACK}][/a][/div] (http://index.php?act=findpost&pid=96045\")
Is that 128 RAM, or storage space? Is there a thread somewhere describing/discussing the process?
Cheers!
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96056\"][{POST_SNAPBACK}][/a][/div]
128 MB of RAM.
[a href=\"http://digit.que.ne.jp/visit/index.cgi?Linux%A5%B6%A5%A6%A5%EB%A5%B9%B3%AB%C8%AF%A5%E1%A5%E2%2F%A5%CF%A1%BC%A5%C9%A5%A6%A5%A7%A5%A2%2FC700%A5%E1%A5%E2%A5%EA%C1%FD%C0%DF]http://digit.que.ne.jp/visit/index.cgi?Lin...%EA%C1%FD%C0%DF[/url]
Be careful. Japanese.
-
i am also intrested in high res photos of any of the c3x00 or c1k, i am sure i saw one where they removed the chip (or was that a c700). the pxa270 also has a bluetooth serial port that can go up to just under 1Mb/s, i also belive it had a 64 byte buffer instead of the 32 byte one but i cant find any info in the pdf's to prove/disprove this
-
Anton,
Are you talking about your c860 or c1k? If you guys find a way to trace btuart lines on c1k's pcb, please let me know. I'm not ready to lose my ffuart yet, still need it for serial communications. Also, if anyone would be brave enough to desolder pxa270 from C1k/c3K/c3.1K pcb, I'd like to see hi-res pictures.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96057\"][{POST_SNAPBACK}][/a][/div]
It's still my C760 with a black keyboard from a C700 and black screen from C750 with 128 Mb or RAM and soon-to-have bluilt-in bluetooth
And we have plans to solder 128 Mb of RAM to my C1000 too...
-
Anton,
Are you talking about your c860 or c1k? If you guys find a way to trace btuart lines on c1k's pcb, please let me know. I'm not ready to lose my ffuart yet, still need it for serial communications. Also, if anyone would be brave enough to desolder pxa270 from C1k/c3K/c3.1K pcb, I'd like to see hi-res pictures.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96057\"][{POST_SNAPBACK}][/a][/div]
It's still my C760 with a black keyboard from a C700 and black screen from C750 with 128 Mb or RAM and soon-to-have bluilt-in bluetooth
And we have plans to solder 128 Mb of RAM to my C1000 too...
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96129\"][{POST_SNAPBACK}][/a][/div]
I have success with an adaptation of the Albert's serial driver to run on PXA25X. Bluetooth is seems to be rock stable now.
-
i am also intrested in high res photos of any of the c3x00 or c1k, i am sure i saw one where they removed the chip (or was that a c700). the pxa270 also has a bluetooth serial port that can go up to just under 1Mb/s, i also belive it had a 64 byte buffer instead of the 32 byte one but i cant find any info in the pdf's to prove/disprove this
[div align=\"right\"][{POST_SNAPBACK}][/a][/div] (http://index.php?act=findpost&pid=96093\")
You may already have seen the [a href=\"https://www.oesf.org/forums/index.php?showtopic=15043]photos[/url] I published in this forum topic. Let me know if you need more detail. I can magnify and crop any specific chip or section of the C3k motherboard I took pictures of. Cowardly, I did not desolder any of the chips from the board.
Aaron
-
2x4ever,
If you have any patches or suggestgions, that would be great! Did you test this driver with irda and apm suspend/resume? I didn't have much time to test it, so any help is appreciated. I hope to find some time to revisit it soon.
-albertr
-
It's still my C760 with a black keyboard from a C700 and black screen from C750 with 128 Mb or RAM and soon-to-have bluilt-in bluetooth
And we have plans to solder 128 Mb of RAM to my C1000 too...
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96129\"][{POST_SNAPBACK}][/a][/div]
Any news on your modifications? Am still champing at the bit. I am still thinking that a C3100 with the C1000 firmware and an internal CF bluetooth adaptor would be the coward's way out!
-
I haven't seen/heard that anyone is using an internal CF slot of C3.1K for anything other than CF/IDE cards. My quess would be that it won't work for serial UART CF cards, like bluetooth cards, at worst, or would require to write a custom driver, at best.
-albertr
-
I haven't seen/heard that anyone is using an internal CF slot of C3.1K for anything other than CF/IDE cards. My quess would be that it won't work for serial UART CF cards, like bluetooth cards, at worst, or would require to write a custom driver, at best.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=97449\"][{POST_SNAPBACK}][/a][/div]
Why not? The C3100 kernel supports 2nd CF slot as well as pcmcia scripts do. I think any CF card will work just fine. I would have tried that myself but I don't have a C3100 to play with...
-
It's still my C760 with a black keyboard from a C700 and black screen from C750 with 128 Mb or RAM and soon-to-have bluilt-in bluetooth
And we have plans to solder 128 Mb of RAM to my C1000 too...
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96129\"][{POST_SNAPBACK}][/a][/div]
Any news on your modifications? Am still champing at the bit. I am still thinking that a C3100 with the C1000 firmware and an internal CF bluetooth adaptor would be the coward's way out!
[div align=\"right\"][a href=\"index.php?act=findpost&pid=97447\"][{POST_SNAPBACK}][/a][/div]
Not yet... We've only had success with 128 Mb RAM and bluetooth for older models.
I think using 2nd CF slot for bluetooth would be a waste of vailable resource knowing that it's possible to solder a bluetooth module directly to serial lines
-
at the moment ou could use the IR line or the serial port on the back, i havent started to trace lines yet but there are alot of test lines on the board and there is the posability that the BTUART is used for testing on the production lines, otherwise there is always the USB port
-
Not yet... We've only had success with 128 Mb RAM and bluetooth for older models.
I think using 2nd CF slot for bluetooth would be a waste of vailable resource knowing that it's possible to solder a bluetooth module directly to serial lines
[div align=\"right\"][a href=\"index.php?act=findpost&pid=98087\"][{POST_SNAPBACK}][/a][/div]
Well, I was thinking that a 3100 with internal bluetooth or wlan in the CF slot would be a zero-solder low-risk option.
However, if my 860 could be turned into a bt-enabled 128MB ram device (and even fit more flash!), then I see no reason to upgrade! Snag is, who would be carrying out this work and how much would it cost? Have you got photos and details of the process?
-
However, if my 860 could be turned into a bt-enabled 128MB ram device (and even fit more flash!), then I see no reason to upgrade! Snag is, who would be carrying out this work and how much would it cost? Have you got photos and details of the process?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=98192\"][{POST_SNAPBACK}][/a][/div]
Actualy I'm starting to think the same My current "C760 on steroids" is almost perfect
The cost for the memory chips is about $100. The bluetooth module is spmewhat $20.
We took some pictures and will post them later.
-
Is there any progress on the project?
-
Is there any progress on the project?
[div align=\"right\"][{POST_SNAPBACK}][/a][/div] (http://index.php?act=findpost&pid=101947\")
Yes, there is some
Actualy we have two C7x0 with an integrated bt.
Bt is connected to FFUART and power control schematic is here:
[a href=\"http://2x4ever-vpn.compot.ru/zaurus/pics/power_control_schematic.PNG]http://2x4ever-vpn.compot.ru/zaurus/pics/p...l_schematic.PNG[/url]
mainboard pcb solder pads:
http://2x4ever-vpn.compot.ru/zaurus/pics/rx_tx_gpio3.JPG (http://2x4ever-vpn.compot.ru/zaurus/pics/rx_tx_gpio3.JPG)
and here is the a for the power control:
http://2x4ever-vpn.compot.ru/zaurus/bttool/ (http://2x4ever-vpn.compot.ru/zaurus/bttool/)
modified serial driver (BT will not work with the stock driver)(already in Cacko 1.23):
http://2x4ever-vpn.compot.ru/zaurus/serial/serial.tar.gz (http://2x4ever-vpn.compot.ru/zaurus/serial/serial.tar.gz)
-
that's great news. I would guess that this mod should be quite relevant to the 860 as well?!
I've now got a 6000L, so I am thinking of buying two bluetooth modules from Segor.de, and following Guylhem's process of turning my 6000 into a 6000W, and then bluetoothing the 860 too!
amendment:
It wasn't clear whether you modded a 700,750 or 760. If a 760, then of course it's possible to duplicate your work, but if you did the 750 then some interpretation is required.
also, how easy was it to find space to insert the bluetooth module?
thanks
-
It wasn't clear whether you modded a 700,750 or 760. If a 760, then of course it's possible to duplicate your work, but if you did the 750 then some interpretation is required.
This applies to any of the models: C700, C750, C760, C860.
also, how easy was it to find space to insert the bluetooth module?
The module is quite small, so it's not hard to find some space inside.
-
Here is some photos:
http://2x4ever-vpn.compot.ru/zaurus/pics/b...oth/dongles.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/bluetooth/dongles.jpg)
http://2x4ever-vpn.compot.ru/zaurus/pics/b...bled_dongle.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/bluetooth/disassembled_dongle.jpg)
http://2x4ever-vpn.compot.ru/zaurus/pics/b...ires_at_pcb.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/bluetooth/wires_at_pcb.jpg)
http://2x4ever-vpn.compot.ru/zaurus/pics/b...ered_module.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/bluetooth/soldered_module.jpg)
http://2x4ever-vpn.compot.ru/zaurus/pics/b...h/described.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/bluetooth/described.jpg)
http://2x4ever-vpn.compot.ru/zaurus/pics/b...h/assembled.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/bluetooth/assembled.jpg)
-
Cool pics, thanks!
I can't wait for someone to trace the lines on C1K/C3k/C3.1K pcb. Maybe there's someone with dead/burned pcb who wants to donate it for the sake of tracing the lines?
-albertr
-
http://2x4ever-vpn.compot.ru/zaurus/pics/b...h/assembled.jpg (http://2x4ever-vpn.compot.ru/zaurus/pics/bluetooth/assembled.jpg)
[div align=\"right\"][a href=\"index.php?act=findpost&pid=102307\"][{POST_SNAPBACK}][/a][/div]
He-he, the back one is mine - went down in history
-
Well, this thread has been quiet for a while... Just want to post a quick update that I've just received some technical info (thanks to one of the long-time Zaurus community supporters!) and I hope it will give us some insight on how to trace lines on PXA270-based Zauruses. I'm not an electrical engineer, and I didn't have any time to investigate it yet, but it looks like BTUART lines are indeed traced on the PCB. I suspect the location where it might be traced to and will try to verify it soon. Even better than that, according to this information one of the USB host interfaces is traced on the PCB too! Stay tuned...
-albertr
-
Well, this thread has been quiet for a while... Just want to post a quick update that I've just received some technical info (thanks to one of the long-time Zaurus community supporters!) and I hope it will give us some insight on how to trace lines on PXA270-based Zauruses. I'm not an electrical engineer, and I didn't have any time to investigate it yet, but it looks like BTUART lines are indeed traced on the PCB. I suspect the location where it might be traced to and will try to verify it soon. Even better than that, according to this information one of the USB host interfaces is traced on the PCB too! Stay tuned...
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=114421\"][{POST_SNAPBACK}][/a][/div]
Great news! Please, keep us posted as we still plan to do hardware upgrades to CxK models, we just didn't have any spare time to spend on this.
-
This might have been mentioned already, but the following link was posted on Mobile Daily News yesterday:
http://www.piro.hopto.org/~piro/pukiwiki/p...%A2%B2%BD%5D%5D (http://www.piro.hopto.org/~piro/pukiwiki/pukiwiki.php?%5B%5BC3000%A4%D8%A4%CEBluetooth%C6%E2%C2%A2%B2%BD%5D%5D)
Basically, someone took apart a USB BT dongle and stuffed it into his C3000.
- ashikase
- anpachi, gifu, japan
-
This might have been mentioned already, but the following link was posted on Mobile Daily News yesterday:
http://www.piro.hopto.org/~piro/pukiwiki/p...%A2%B2%BD%5D%5D (http://www.piro.hopto.org/~piro/pukiwiki/pukiwiki.php?%5B%5BC3000%A4%D8%A4%CEBluetooth%C6%E2%C2%A2%B2%BD%5D%5D)
Basically, someone took apart a USB BT dongle and stuffed it into his C3000.
- ashikase
- anpachi, gifu, japan
[div align=\"right\"][a href=\"index.php?act=findpost&pid=114958\"][{POST_SNAPBACK}][/a][/div]
This looks very interesting and promising!
However, I can only see the pictures and not read any Japanese!
What would be of interest to me:
* How to connect the BT module correctly to the USB port without making the USB port unusable for other devices?
* Where to connect the switch?
* Which kind of BT modules can be used (chipset...)?
thanks
daniel
-
This might have been mentioned already, but the following link was posted on Mobile Daily News yesterday:
http://www.piro.hopto.org/~piro/pukiwiki/p...%A2%B2%BD%5D%5D (http://www.piro.hopto.org/~piro/pukiwiki/pukiwiki.php?%5B%5BC3000%A4%D8%A4%CEBluetooth%C6%E2%C2%A2%B2%BD%5D%5D)
Basically, someone took apart a USB BT dongle and stuffed it into his C3000.
- ashikase
- anpachi, gifu, japan
[div align=\"right\"][a href=\"index.php?act=findpost&pid=114958\"][{POST_SNAPBACK}][/a][/div]
This looks very interesting and promising!
However, I can only see the pictures and not read any Japanese!
What would be of interest to me:
* How to connect the BT module correctly to the USB port without making the USB port unusable for other devices?
* Where to connect the switch?
* Which kind of BT modules can be used (chipset...)?
thanks
daniel
[div align=\"right\"][a href=\"index.php?act=findpost&pid=114991\"][{POST_SNAPBACK}][/a][/div]
well, he said the usb cant be used while bluetooth is being used. i guess he plugged the bt into the usb port at the back you see a small opening beneath the usb port and there is a lot of wiring from the bt chip to that opening slot. but the blue light beneath the ok button is so cool
-
Umm, so he just plugged it into the USB OTG port?
What is that small thing he planted under OTG port connector? Is it a hardware switch?
These pictures are really bad quality - it's hard to see anything
-albertr
-
to me it looks like he just paralelled the bluetooth adaptor to the usb port, with a simple very-low-profile sliding switch to cut between the two. he had to cut two holes, one for the blue led, the other for the switch.
I'd say it's a lot better than nothing...
but from what albertr has said, there's a spare usb host port in the 1000/3x00 which would be much better!
-
Yes, according to the documentation, there's one. I even can see it on the pictures here:
http://www.piro.hopto.org/~piro/pukiwiki/p...%A2%B2%BD%5D%5D (http://www.piro.hopto.org/~piro/pukiwiki/pukiwiki.php?%5B%5BC3000%A4%D8%A4%CEBluetooth%C6%E2%C2%A2%B2%BD%5D%5D)
I'll try to find some time to open up my C1K and solder flying leads to it. I think that the kernel needs to be modified to enable this port, too.
The BTUART is a little more difficult. I don't know the exact location for its lines, but I have a good guess where they could be. This UART has four lines - transmit, receive and two lines which could be used for hardware flow control. In case of BCSP, hardware flow control is not used, so these two lines could be re-purposed as GPIO lines and could be used to control power on/off thru software, for instance.
-albertr
-
cant wait and see if the kernel needs recompiling, hopefully not, i have a bt dongle that is ultra tiny, from my belkin bt mouse purchase, and I will free up just enough room with the microdrive-->cf upgrade. I am rready to rock provided we can get say tetsus kernel recompiled or cacko with special kernel compiled.
-
albertr: i am studying electrical egineering at the momont so if you need a hand just e-mail me, i am very intrested in the posability of another usb host port thot has been routed somewhere on board, i just hope this is HOST 2 and not HOST1 or 3 (the CPU has 3 USB HOST controllers on it, but only one meets the USB spec, the other two are missing the d- line as they are intended to be connected to on board devices)
-
I might be wrong, but I thought that all usb hosts ports on PXA have both data signal lines? Sharp has traced data lines for port 1. It has differential signals, which I thik is a good thing, since doesn't require additional logic to connect it to usb device. Only data lines are traced, power control is not.
Just a quick status update: I've opened up my C1K today, and oh boy, these lines are tiny! It would take a really steady hand to solder flying leads to it.
I'll try to do my best soldering and hopefully not to destroy the pcb, Then usb host driver needs to be modified to enable this port.
-albertr
-
I might be wrong, but I thought that all usb hosts ports on PXA have both data signal lines? Sharp has traced data lines for port 1. It has differential signals, which I thik is a good thing, since doesn't require additional logic to connect it to usb device. Only data lines are traced, power control is not.
Just a quick status update: I've opened up my C1K today, and oh boy, these lines are tiny! It would take a really steady hand to solder flying leads to it.
I'll try to do my best soldering and hopefully not to destroy the pcb, Then usb host driver needs to be modified to enable this port.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=115337\"][{POST_SNAPBACK}][/a][/div]
/me waits patiently.
also we could get a usb router chip and just run an internal usb router for both bt and a usb connection(no kernel mod needed), and yes found the schematics for it already. As for room switching to a cf type 1 vs type 2 micro-drive will free room for this(on a 3100 of course)
-
i may be wrong i shold break out the data sheet and double cheak this (give me a sec) Ok, it looks like both USB HOST 1 and 2 are differential but number 3 is not.
i am trying to find a usb hub small enogh to fit in my case however i think i should just build a new case bottom and have about 3 usb ports and another CF and SD slot ()
albert: did you find port 1 or are you doing what you saw on the site (he uses port 2 which is multiplexed with the client controller) if so i NEED pics as i will solder as soon as they arrive (i have a soldering iorn for smt and small pitch work)
-
albert: did you find port 1 or are you doing what you saw on the site (he uses port 2 which is multiplexed with the client controller) if so i NEED pics as i will solder as soon as they arrive (i have a soldering iorn for smt and small pitch work)
Soldering is done, but driver doesn't work yet (it crashes the Z every time I'm trying to
initialize it). I'll take another look today and let you all know. Pictures and schemantics will be provided, of course, when it works.
-albertr
-
I will break out a descrete parts list for a usb hub sometime tonight, right now its work time.
-
Just a quick status update: the driver works now, but it can't see the usb device connected to port 1. I'm positive that wiring is done correctly, so it must be something else I'm missing. I'll be busy with other projects in the next few days, so have to put this one on hold now...
-albertr
-
Umm, this is getting more and more interesting... Actually, I was testing with CSR bt04-ext bluetooth module only and it looks like it might have some problems with usb 1.1 ohci, but at least it seems that data lines are working, i.e.:
Feb 21 20:12:12 c1000 user.debug kernel: hub.c: port 1, portstatus 100, change 1, 12 Mb/s
Feb 21 20:12:12 c1000 user.debug kernel: hub.c: port 1 connection change
Feb 21 20:12:12 c1000 user.debug kernel: hub.c: port 1, portstatus 100, change 1, 12 Mb/s
Feb 21 20:12:12 c1000 user.debug kernel: hub.c: port 2, portstatus 103, change 0, 12 Mb/s
I'm no expert in usb protocol specs, so not sure why nothing happens after connection change. I'll try some other usb device and see if it would make any difference.
-albertr
-
IT WORKS WORKS WORKS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Feb 21 21:03:08 c1000 user.debug kernel: hub.c: port 1, portstatus 101, change 1, 12 Mb/s
Feb 21 21:03:08 c1000 user.debug kernel: hub.c: port 1 connection change
Feb 21 21:03:08 c1000 user.debug kernel: hub.c: port 1, portstatus 101, change 1, 12 Mb/s
Feb 21 21:03:08 c1000 user.debug kernel: hub.c: port 1, portstatus 101, change 0, 12 Mb/s
Feb 21 21:03:08 c1000 user.debug kernel: hub.c: port 1, portstatus 101, change 0, 12 Mb/s
Feb 21 21:03:08 c1000 user.debug kernel: hub.c: port 1, portstatus 101, change 0, 12 Mb/s
Feb 21 21:03:08 c1000 user.debug kernel: hub.c: port 1, portstatus 101, change 0, 12 Mb/s
Feb 21 21:03:08 c1000 user.debug kernel: hub.c: port 1, portstatus 103, change 10, 12 Mb/s
Feb 21 21:03:08 c1000 user.info kernel: hub.c: USB new device connect on bus1, assigned device number 4
Feb 21 21:03:08 c1000 user.debug kernel: usb.c: kmalloc IF c3b3cae0, numif 1
Feb 21 21:03:08 c1000 user.debug kernel: usb.c: new device strings: Mfr=0, Product=0, SerialNumber=1
Feb 21 21:03:08 c1000 user.debug kernel: usb.c: USB device number 4 default language ID 0x409
Feb 21 21:03:08 c1000 user.info kernel: SerialNumber: KJLee
Feb 21 21:03:08 c1000 user.debug kernel: usb.c: unhandled interfaces on device
Feb 21 21:03:08 c1000 user.warn kernel: usb.c: USB device 4 (vend/prod 0x967/0x204) is not claimed by any active driver.
Feb 21 21:03:08 c1000 user.emerg kernel: Length = 18
Feb 21 21:03:08 c1000 user.emerg kernel: DescriptorType = 01
Feb 21 21:03:08 c1000 user.emerg kernel: USB version = 1.10
Feb 21 21:03:08 c1000 user.emerg kernel: Vendor:Product = 0967:0204
Feb 21 21:03:08 c1000 user.emerg kernel: MaxPacketSize0 = 8
Feb 21 21:03:08 c1000 user.emerg kernel: NumConfigurations = 1
Feb 21 21:03:08 c1000 user.emerg kernel: Device version = 1.32
Feb 21 21:03:08 c1000 user.emerg kernel: Device Class:SubClass:Protocol = 00:00:00
Feb 21 21:03:08 c1000 user.emerg kernel: Per-interface classes
Feb 21 21:03:08 c1000 user.emerg kernel: Configuration:
Feb 21 21:03:08 c1000 user.emerg kernel: bLength = 9
Feb 21 21:03:08 c1000 user.emerg kernel: bDescriptorType = 02
Feb 21 21:03:08 c1000 user.emerg kernel: wTotalLength = 0027
Feb 21 21:03:08 c1000 user.emerg kernel: bNumInterfaces = 01
Feb 21 21:03:08 c1000 user.emerg kernel: bConfigurationValue = 01
Feb 21 21:03:08 c1000 user.emerg kernel: iConfiguration = 00
Feb 21 21:03:08 c1000 user.emerg kernel: bmAttributes = 80
Feb 21 21:03:08 c1000 user.emerg kernel: MaxPower = 500mA
Feb 21 21:03:08 c1000 user.emerg kernel:
Feb 21 21:03:08 c1000 user.emerg kernel: Interface: 0
Feb 21 21:03:08 c1000 user.emerg kernel: Alternate Setting: 0
Feb 21 21:03:08 c1000 user.emerg kernel: bLength = 9
Feb 21 21:03:08 c1000 user.emerg kernel: bDescriptorType = 04
Feb 21 21:03:08 c1000 user.emerg kernel: bInterfaceNumber = 00
Feb 21 21:03:08 c1000 user.emerg kernel: bAlternateSetting = 00
Feb 21 21:03:08 c1000 user.emerg kernel: bNumEndpoints = 03
Feb 21 21:03:08 c1000 user.emerg kernel: bInterface Class:SubClass:Protocol = ff:ff:ff
Feb 21 21:03:08 c1000 user.emerg kernel: iInterface = 00
Feb 21 21:03:08 c1000 user.emerg kernel: Endpoint:
Feb 21 21:03:08 c1000 user.emerg kernel: bLength = 7
Feb 21 21:03:08 c1000 user.emerg kernel: bDescriptorType = 05
Feb 21 21:03:08 c1000 user.emerg kernel: bEndpointAddress = 81 (in)
Feb 21 21:03:08 c1000 user.emerg kernel: bmAttributes = 02 (Bulk)
Feb 21 21:03:08 c1000 user.emerg kernel: wMaxPacketSize = 0040
Feb 21 21:03:08 c1000 user.emerg kernel: bInterval = 00
Feb 21 21:03:08 c1000 user.emerg kernel: Endpoint:
Feb 21 21:03:08 c1000 user.emerg kernel: bLength = 7
Feb 21 21:03:08 c1000 user.emerg kernel: bDescriptorType = 05
Feb 21 21:03:08 c1000 user.emerg kernel: bEndpointAddress = 02 (out)
Feb 21 21:03:08 c1000 user.emerg kernel: bmAttributes = 02 (Bulk)
Feb 21 21:03:08 c1000 user.emerg kernel: wMaxPacketSize = 0040
Feb 21 21:03:08 c1000 user.emerg kernel: bInterval = 00
Feb 21 21:03:08 c1000 user.emerg kernel: Endpoint:
Feb 21 21:03:08 c1000 user.emerg kernel: bLength = 7
Feb 21 21:03:08 c1000 user.emerg kernel: bDescriptorType = 05
Feb 21 21:03:08 c1000 user.emerg kernel: bEndpointAddress = 83 (in)
Feb 21 21:03:08 c1000 user.emerg kernel: bmAttributes = 03 (Interrupt)
Feb 21 21:03:08 c1000 user.emerg kernel: wMaxPacketSize = 0008
Feb 21 21:03:08 c1000 user.emerg kernel: bInterval = 01
Feb 21 21:03:08 c1000 user.debug kernel: usb.c: kusbd: /sbin/hotplug add 4
Feb 21 21:03:08 c1000 user.debug kernel: hub.c: port 2, portstatus 100, change 0, 12 Mb/s
Feb 21 21:03:08 c1000 user.notice /sbin/hotplug: arguments (usb) env (ACTION=add DEBUG=kernel OLDPWD=/ HOME=/ DEVFS=/proc/bus/usb PATH=/bin:/sbin:/usr/sbin:/usr/bin TYPE=0/0/0 INTERFACE=255/255/255 PRODUCT=967/204/132 PWD=/etc/hotplug DEVICE=/proc/bus/usb/001/004)
Feb 21 21:03:09 c1000 user.notice /sbin/hotplug: invoke /etc/hotplug/usb.agent ()
Feb 21 21:03:09 c1000 user.notice /etc/hotplug/usb.agent: ... no modules for USB product 967/204/132
Looks like CSR BC4-ext has a problem with OHCI, I'll try to contact CSR regarding possible firmware updates. Too bad, since the module is very small (could be nice fit for Z) and supports high transmittion speeds.
I wired a Prism3-based 802.11b usb module and it ...
WORKS WORKS WORKS WORKS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ok, I'll try to make some hi-res pictures and provide schemantics this weekend.
-albertr
-
I wired a Prism3-based 802.11b usb module and it ...
WORKS WORKS WORKS WORKS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Man, you rule!
-
totally killer! I know what my next project is...as soon as he puts up the schematics...
wait 802.11b....wifi? wonder if there is room for that....after the microdrive-->cf upgrade.
-
Man, you rule!
[div align=\"right\"][a href=\"index.php?act=findpost&pid=115657\"][{POST_SNAPBACK}][/a][/div]
So say we all!
-
indeed, albertr, if you started converting 3100's, you'd have people queing up for them.
if you could offer both bluetooth AND wifi, you'd be fighting people off with a sharp stick!
one little thing though... does the USB wifi adaptor support WPA? the SL6000's wifi is usb prism thing and as far as I know there's no WPA support yet.
-
Prism3 usb chipset is supported by wlan-ng drivers only afaik, so no WPA support for it.
I do have another usb dongle that uses ZyDAS ZD1211 chipset, and its Linux driver while is alittle bit funky, has WPA/WPA2 support. But there's no OBSD driver exists.
The plan is to have both wi-fi and bt on my C1K in near future (C1K has plenty of free space inside the case). I'm tied up with other projects, but I hope to take a look at BTUART lines sometime soon.
-albertr
-
I am so happy now all i need is a small hub and to build a false bottom for my c3k!! wifi and bluetooth here i come.
now i can have the mini connector for client mode and and have a full sized connector at the back so i dont need a connector.
you are thinking too small, get a dlink with the athereos chipset and get 802.11g, even if you cant use the extra speed you should see a range improvment for 802.11g routers (better modulation scheme) and yes i am aware that you cant reach full 802.11 speeds but when did you ever reach the max with any wifi gear
-
I agree that we want 802.11g with WPA.
for work I got an Intel minipci 2915abg adaptor, and it suddenly occurred to me that if we had a minipci adaptor, perhaps thru a "sled", on the zaurus then things would get very interesting.
-
would be nice but wont work without a bridge chip they exsist but you dont want to know how much work it is and the garentee that your zarus will not work for awhile (this is why i keep a backup PDA, i use them so often that its handy to have a reserve)
dont suppose we could get a pic of where you soldered the lines so i can start modding?
-
I think there's a possibility that I have found the BTUART lines too.
For these who are waiting for pictures and schemantics - I'll post it this Sunday night. Not sure that I would have all pictures ready by that time, but I'll post what I have.
-albertr
-
Yeah sorry bout that, i tend to forget about time zones (im GMT +10 ie sydney)
the uart would be nice but i think it is secondary, IMHO haging everything off the usb bus is a better idea., however if you want to save space by leaving out the hub then its a great idea
cant wait to be the second pearson to do this
-
Take a look here:
http://www.iral.com/~albertr/linux/zaurus/wireless/ (http://www.iral.com/~albertr/linux/zaurus/wireless/)
I didn't have time to post all pictures including BTUART, I hope to do it sometime next weekend.
-albertr
-
THat was very informative, espesially the part about the regulator catching fire , one thing i might mention because i am unsure if you nticed it but PORT 2 is MULTIPLEXED with the USB client port meaning you can have PORT 2 and client at the same time
not that i am worried about losing usb client if i gain wifi, however i just noticed that USB host ports would fit perfectly in the 2nd CF slot and it would be easy to have 2
as for yaur power calculations it would be the Voltage drop across the regulator * current accross the device so power in watts (P) = ((voltage to the chip) -5v) * 500ma or for those not comfterble with unit conversion in electronics P = (Vin - 5) * 0.5 i would assunme this chip is getting about 5v to 6v so at 6v it would be 0.5 watt
power disipation can be improved by lowering the voltage, cool ambeint temp, active cooling (fan or peltier) heatsink (mainly for disipating heat not moving it) if you look at my calacs above i would say the chip is getting 5v or 2 * battery voltage it depends if it is getting its power off the zarus,s 5v rail or has another arangment (like a voltage doubler)
atm i am wondering how hard it would be to repackage my zaurus and blend it with my targus keyboard and add VGA out, or mabey i should finish porting linux to the Dell x30 and use that instead. (it has a nice daughter board that has 802.11b on the CF bus and bluetooth connected to the BTUART)
BTUART support would be good as it has a larger buffer for comms
-
I think this is enough to install my mini bt module(usb dongle ripped apart)
-
Take a look here:
Nice work Albert!
About your concerns about 3850 power dissipation: if it powered from 5V rails we can assume that it will be in 4.9 - 5.6V range. For input voltage below 5.17V power dissipation will be 0.5A * 0.17V = 85mW which will get the chip slightly warm.
At input of 5.6V it will be 0.5A * 0.6V = 300mW which isn't also very high. Unfortunately, datasheet doesn't specify case thermal resistance to ambient so I can only guess that the chip temperature will be within 60C which is well in range of working
temperature. In addition, this IC have thermal protection, so it should be safe to draw 500mA from it.
-
Take a look here:
Nice work Albert!
About your concerns about 3850 power dissipation: if it powered from 5V rails we can assume that it will be in 4.9 - 5.6V range. For input voltage below 5.17V power dissipation will be 0.5A * 0.17V = 85mW which will get the chip slightly warm.
At input of 5.6V it will be 0.5A * 0.6V = 300mW which isn't also very high. Unfortunately, datasheet doesn't specify case thermal resistance to ambient so I can only guess that the chip temperature will be within 60C which is well in range of working
temperature. In addition, this IC have thermal protection, so it should be safe to draw 500mA from it.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=116212\"][{POST_SNAPBACK}][/a][/div]
you could always use thermal epoxy and a small chunk of aluminum...
-
I wonder if there is a wasy to have both client and host funcitonality...
Albert, if your driver is unloaded and internal USB host is powered down, can then Sharp's driver along with usb-monitor be loaded and used? In this case this could be some kind of a solution - a way to switch back and forth between using internal USB devices and external USB port.
-
Thanks for the information on heat dissipation! I'll try to replace the resistor with the smaller one and see if it can power up a wi-fi module without setting the Zaurus on fire
As far as the driver goes, I think it should be possible to load/unload it, but remember to power off 5V OTG regulator before connecting to another host which supports its own power. That was done automatically in Sharp's driver, but I moved this part to userland utility. The clocks are turned off on un-loading the driver the same way as it's done in Sharp's.
Does anyone know how usbd drivers get loaded?
-albertr
-
one thing i might mention because i am unsure if you nticed it but PORT 2 is MULTIPLEXED with the USB client port meaning you can have PORT 2 and client at the same time
Yes, lines are multiplexed, so it's either client or host port2, but not both at the same time.
-albertr
-
Cool! I was wondering if Sharp had brought out the second PXA270 USB port to somewhere easy to get to, and they did!
-
would it be safe to say if a piece of hardware worked on one sub port it will work on the other in question?
-
It's really cool you've made it that far. I just haven't got two things:
1) What is the current version of your BT chipset that you've soldered? It would be nice to have 1.2 or even 2.0;
and
2) Is it technically possible (by overclocking and so on) to use any soldered BT chipset to reach true USB speeds like some Mbps? I'm interested in it because of the pretty usable audio profiles like A2DP and because of BT headphones that would be nice to connect to my C3k.
-
A2DP works with 1.0 (i have the logitech headphones) but linux support is in the early stages (only supports uLaw 16bit @ 44khz throgh a named pipe, the pipe being the problem)
i dont think i explained clearly with wy multiplex post, Cant PORT 2 be routed out the client pins or to its own pins, i seem to remeber that it had its own IO's for normal usage meaning that there might be another usb port on the board, this would allow you to have port 2 and client at the same time.
just found a nice tiny USB bluetooth dongle thats 14mm wide and 23 mm deep (without antenna, i plan to solder one on) in australia, teseting it now but lookslike i might need to load firmware into it
-
just started doing some thinking and recalled that some new laptops had accelermoters in them, do you know where the i2c bus is, i was thinking i could plug one in then shake my pda to go to a random song or swing clockwise to go forward and anti clockwise to go back
wasent sure if you came across it, hope you did, then i could also park the HD heads on falling
[EDIT] SPI would be good as well but im not afraid of a little pic micro glue logic [/EDIT]
-
The bluetooth dongle used is the old revision of Billionton Class 2 USB dongle. It's bt spec 1.1 certified, has both UART and USB interfaces available and traced on PCB and supports CSR proprientary BCSP protocol which allows to get away without using hardware flow control in UART mode. More info is here:
http://www.iral.com/~albertr/billionton/ (http://www.iral.com/~albertr/billionton/)
-albertr
-
just started doing some thinking and recalled that some new laptops had accelermoters in them, do you know where the i2c bus is, i was thinking i could plug one in then shake my pda to go to a random song or swing clockwise to go forward and anti clockwise to go back
wasent sure if you came across it, hope you did, then i could also park the HD heads on falling
[EDIT] SPI would be good as well but im not afraid of a little pic micro glue logic [/EDIT]
[div align=\"right\"][a href=\"index.php?act=findpost&pid=116347\"][{POST_SNAPBACK}][/a][/div]
You might be interested in the old Itsy prototype. Itsy was a Compaq project to make PDA that could be replicated cheaply by hobbyists, and featured an accelerometer that was API accessible. I have a video of Doom being played on it by rocking it in the direction you wanted to move.
Wasn't there a recent patent (by Apple maybe?) patenting a gesture system clearly designed to be used by a device with an accelerometer? (It was covered by a news site)
You might see if you can find a USB gamepad that's small enough to be intergrated that uses an accelerometer. I have Sidewinder Freestyle Pro gamepad with one (very fun to use it with the included motorcycle game), however, it's far too large to be intergrated.
-
You might see if you can find a USB gamepad that's small enough to be intergrated that uses an accelerometer.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=116412\"][{POST_SNAPBACK}][/a][/div]
check out opentom as the TT Go 500 and 700 have accelerometers in them for dead-reckoning (to deduce velocity changes during temporary GPS lock loss)... so that means there's already a driver and stuff.
-
Got the dongle working, it dosnt play nice with hubs, work great and is tiny!!!!! cant wait to put it in, will just have to wait till this weekend so i con sond off for the prototype SBC
-
Congrats! Is it BT or wi-fi dongle?
-albertr
-
i meant on my PC, and its that tiny bluetooth one, its even smaller than the ones on your site (its a fraction larger than the usb connector, but as i said it goes inside my zaurus this weekend, i just have to send the prototype for my single board computer off to be manufactured and i might get the 1GB cxx00 RAM hack board done as well to save time and money, it should be easy to do now that all you need is a soldering iorn
-
1Gb ram? O_o, all I want is 256Mb, that would be nice... my bt dongle is going in next month(have to save for my microdrive replacement.
-
1Gb ram? O_o, all I want is 256Mb, that would be nice... my bt dongle is going in next month(have to save for my microdrive replacement.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=116589\"][{POST_SNAPBACK}][/a][/div]
What ever happened to bt/wifi/ram upgrade on the 3100? Anyone able? anyone done any of it?
-
I am going to bid on 10 of these
http://cgi.ebay.co.uk/New-OEM-Complete-Blu...1QQcmdZViewItem (http://cgi.ebay.co.uk/New-OEM-Complete-Bluetooth-PtP-Modules_W0QQitemZ7595298832QQcategoryZ4663QQrdZ1QQcmdZViewItem)
Anyone in the UK want some and I'll post them out when they arrive?
Don't mind doing Europe as well but it will probably be cheaper to buy them yourself with postage costs.
-
Looks like Ericsson is liquidating it, I saw quite a few offering of them on a reel. I assume you read the datasheet and know that they require external 50Ohm antenna?
-albertr
-
I assume you read the datasheet and know that they require external 50Ohm antenna?
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=116680\"][{POST_SNAPBACK}][/a][/div]
Yup. I'll make the antenna
-
I need a help from someone with experience in electronic engineering... I'd like to implement some power switching circuit thru PNP transistor (or MOS FET?) for built-in Wi-Fi and BT modules. I think I found GPIO lines that could be used to control the switch, but need a help with schemantics and advise on what kind of transistor to use.
Vin and Vout would be either 3.3V or 5V, and max current would be about 500-650mA @ 5V. Also I'd like to minimize any parasitic effects and power drain. Switching speed is not important.
-albertr
-
Nevermind, I think I got it.
-albertr
-
All you need is a resistor and a transitor the resisistor sits between the transistor and thi IO pin, you wauld also want a high gain transistor ro arange 2 transistors in a darlington array
-
About your concerns about 3850 power dissipation: if it powered from 5V rails we can assume that it will be in 4.9 - 5.6V range. For input voltage below 5.17V power dissipation will be 0.5A * 0.17V = 85mW which will get the chip slightly warm.
At input of 5.6V it will be 0.5A * 0.6V = 300mW which isn't also very high. Unfortunately, datasheet doesn't specify case thermal resistance to ambient so I can only guess that the chip temperature will be within 60C which is well in range of working
temperature. In addition, this IC have thermal protection, so it should be safe to draw 500mA from it.
I replaced the resistor with a 1K one, but it looks like there might be a problem for this regulator to supply high current. I've tried two different wi-fi dongles, and both of them seem to have problems when powered from it.
-albertr
-
Well, scratch that - the problem seemed to be unrelated to power supply. I got the internal wi-fi module working when powered from that regulator.
-albertr
-
That's great! I can't wait to hear how the reception once the Zaurus is put back together. This is making me very happy to have a C1000.
-
Well, scratch that - the problem seemed to be unrelated to power supply. I got the internal wi-fi module working when powered from that regulator.
Ok. You may try to measure voltages before and after 3850 to get the picture. If that will not reveal any problems, then the problem might be in too large voltage spikes on USB power line during various modes of operation. These can be identfied only with a scope.
-
Thanks, Boris! Unfortunately, I don't have the o'scope. But anyway, it seems to be working for two days in a row now - over 1GB of data transferred over wi-fi.
ZD1211 gets pretty hot, but so far it seems stable. I attached its metal electromagnetic shield (that covers RF) to Zaurus's metal plate under the keypad. Not sure if it's helping to dissipate the heat, since the other side of it (where ZD1211 soldered to) gets pretty hot too.
-albertr
-
the auction closed, and not many bidders - I went for three of them, on the basis that there's one to hack, one for real work, and one spare just in case!
I'll let you know when mine arrive.
-
I just had an evil thoght, scince no one uses the serial port on the back and it is TTL, why not do an internal gprs modem hack using an old doner phone (clamshell without screen or batt, MOBO only)
i am running out of space and i havent even started soldering yet (thogh i did add bluetooth internally to 2 linksys NSLU's)
im thinking a docking staitoin as i want 2 wifi cards and a bluetooth w/ external antennas )3 of them ) and gprs, might as well put my external battery in there as well to power the beast
considering that my USB hub and bluetooth card are smaller than a CF card when the 2 are placed next to each other (got to love sydney's china town) and tho mobile being about the thickness of a CF card then my doking station wont be 2 small, if i could just find someone wh o could redesign the bottom half of the case then i would be really happy
-
Hi,
Just followed the thread recently and it sounds quite interesting. I'm not very deeply involved in the hardware of the Z. Therefore, I just have some question to understand and hopefully further help in development.
1. Is there enough space to add beside the WLAN and Bluetooth-Card an additional memory stick? I really like to see my C1000 with a internal storage of more then 1 GB.
2. Did you plane to use one USB port of the Zaurus with an additional USB-Hub to connect all these devices with the Zaurus or will you use all USB ports of the Zaurus itself? Did you manage to find out for what the ports (which are used for USB) of the Zaurus are used instead (since they have normally double or triple functions)
3. Any idea about the overall power consumption? One problem which maybe even leads Sharp to include no internal devices is the ratio between weight, size / battery life. It is still a PDA and should fit size and weight criteria. Our Zaurus devices are already on the upper limit in this case. Small a light device requires small batteries and therefore low power consumption for useable battery lifetimes. No space (in terms of electricity) for additional gadgets?!?
Personal I believe that the battery of the Zaurus is already somewhat too small in capacity for a PDA. Intensive use with sometimes WLAN force me to recharge the Zaurus every second day - sometimes daily. It would cut the fun if I have to charge it twice a day because of internal Bluetooth, WLAN etc. Therefore, if we like to integrate more devices, we should check whether we have to tune the power unit as well.
4. For the heating effects of the power regulator (?). As far as I remember the pictures correctly, there was still little space. Maybe it helps to use a little copper sheet together with some thermal grease.
I will try to support this project. Unfortunately I have just one Zaurus which I daily use. Disassembling this unit is not really what I want.
However, I'm sitting here in a lab with a huge bunch of electronic tools and devices. Even a PCB-milling-drilling-whatever machine can be used here.
Therefore, if I can assist you, I will try my best.
Best regards
Torsten
-
I am going down the hub path as it allows me to avoid a couplu of issues such as turning power to a device off (ass the hub does this, i only have to turn off the hub)
there is not much room in the case, if you have a c1000 then you are in luck as you have the internal CF slot free, otherwise you can have a bluetooth dongle and thas about it, you can gain more space if you dont want the second CF slot (the external one) and want 2 full sized USB host ports instead or dump the SD slot and gain a bit of space
with the C3000 you might want to consider a usb socket somewhere or build a docking station
the C100 could have bluetooth wifi and storage if you boght a small sized flash disk and got creative but at tah point you would need a hub
a soulution to bad battery life is an external battery pack but not everyone likes this
-
Anybody tried to compare these photos?
https://www.oesf.org/forums/index.php?act=A...pe=post&id=1048 (https://www.oesf.org/forums/index.php?act=Attach&type=post&id=1048) ( from this thread https://www.oesf.org/forums/index.php?showt...16&hl=bluetooth (https://www.oesf.org/forums/index.php?showtopic=15516&hl=bluetooth) )
and
http://hypernote.com/gallery/zaurus/c3k_cl...C_0071.jpg.html (http://hypernote.com/gallery/zaurus/c3k_close/DSC_0071.jpg.html)
-
If you are wondering about these soldering pads...
https://www.oesf.org/forums/index.php?showtopic=17937&st=77# (https://www.oesf.org/forums/index.php?showtopic=17937&st=77#)
-albertr
-
hmm.
so, basically, you can't fit the bluetooth adaptor whilst the internal CF slot is in use whether by microdrive or CF card - you'd have to use flying leads to the BT adaptor, or maybe a ribbon cable for a CF card to move it out of the area.
bummer.
-
C3x00:
I doubt that you can relocate the microdrive - there's simply not enough space elsewhere. But finding a place for a small BT module might be a possibility. In this case the flying leads can be used to connect it to BTUART lines.
C1K:
There're plenty of space available.
-albertr
-
albertr: I was wondering if you've noticed any difference in reception for your internal wifi mod vs a CF wifi card? If there isn't a significant difference or the internal wifi dongle does better, then I might be interested in paying someone to solder a wifi dongle (and maybe bluetooth) into my C1000.
-
I didn't do any RF tests, and I don't have any equipment for RF testing.
All I can express is my very subjective opinion.
-albertr
-
http://www.iral.com/~albertr/linux/zaurus/wireless/ (http://www.iral.com/~albertr/linux/zaurus/wireless/)
was updated with info on BTUART tracing and some GPIO pins. I still don't have time to make more pictures to show how it looks inside the case, but will try to add it sometime later.
-albertr
-
very nice, now i know where to hack in my acellerometer
-
There were some questions asked via email. In case anyone else is interested, I'm posting answers to some of them here as well:
- BTUART speed: Billionton CSR BC2-ext module is working @ 921600 baud with BTUART on my C1K with BCSP protocol. It seems to work fine at that speed, I didn't notice any problems so far.
2. I was using 22 Ohm resistor array. I ordered samples from http://www.koaspeer.com/ (http://www.koaspeer.com/). They have a sample order page on thier website. I don't remember the exact part number, but I think it was either CN1J4KTBK220J or CN1E4KTBK220J (whichever has the smallest size). You might want to check with koaspeer if they have a local distributor and ask them for samples. I still have a few of them left, if anyone in the US needs it, please PM me with your shipping address, but please try to contact koaspeer or other manufacturer first.
-albertr
-
I checked the part numbers - the P/N from koaspeer.com is CN1E4KTBK220J .
-albertr
-
I think I might need some help from someone experienced in electric engineering. I'm trying to control the power to internal wi-fi and bt modules with GPIO pins via a NPN transistor. The transistor I was able to find in local Radioshack is MPS2222A (its datasheet is available here: http://www.ortodoxism.ro/datasheets/motorola/MPS2222A.pdf (http://www.ortodoxism.ro/datasheets/motorola/MPS2222A.pdf) ). I think it looks as a close replica of 2N2222A, except that collector's continuous current is specified as 0.6A instead of 0.8A (for 2N2222A). I have a 1K resistor between GPIO output (active high) and transistor's base. That's pretty much all the schemantics. Now the problem I have: switching ON and OFF via GPIO works fine. And while BT module seems to be working as expected, the Wi-fi module is actually not behaving well. Some of the hardware ops fail, and it might look like it's not getting the sufficient current from the transistor. If I connect it directly without the transistor, it works fine.
Now here's the big question: Is the transistor I have is not good for powering up the wi-fi module? Maybe my simple schemantics are not good? Unfortunately, I don't have an o'scoope to check the actual signals.
Can anyone recommend any particular circuit schemantics or components? I'm thinking of something as simple as possible via PNP or NPN transistor, or maybe MOS FET.
I can get NTB60N06L MOSFET that has 3V TTL logic level input (the datasheet is here: http://www.onsemi.com.cn/pub/Collateral/NTP60N06L-D.PDF (http://www.onsemi.com.cn/pub/Collateral/NTP60N06L-D.PDF) ). Can it be used for this purpose? Is current leakage less with MOSFET than with silicon transistor? The other problem I see is that it's rather large, so it could be a challange to fit two of them inside the Z. Is there any smaller size MOSFET with logic level input that can be used and available for online ordering in the USA?
Any ideas, suggestions?
-albertr
-
I have a 1K resistor between GPIO output (active high) and transistor's base. That's pretty much all the schemantics.
Now the problem I have: switching ON and OFF via GPIO works fine. And while BT module seems to be working as expected, the Wi-fi module is actually not behaving well. Some of the hardware ops fail, and it might look like it's not getting the sufficient current from the transistor. If I connect it directly without the transistor, it works fine.
Unfortnunatelly, you haven't specified how other pins of the transistor are connected, so we have two variants (see attached image). Variant "B" will not work properly because it can't deliver 5V at all (only something about 2.6V) and I'll assume that it
is variant "A".
You're correct that this circuit can not supply 0.5A current without significant voltage drop. Look at datasheet for values of collecter-emitter saturation voltages at given base and collector currents. With 1k resitor in base it can be about 1.5V. Given that this transistor sits in the ground wire this can't work well indeed.
Can anyone recommend any particular circuit schemantics or components? I'm thinking of something as simple as possible via PNP or NPN transistor, or maybe MOS FET.
Since the requirement to have very low voltage drop at relatively high current with space restrictions, I would recommend schematic under letter "C". With FDN358P mosfet (fairchild) it will eat only of 0.1V at 0.5A.
-
Boris,
Thank you for helping me out! Yes, I'm using the "A" schemantics from your drawing. After you explained it, now I can see why I'm having the problem under load.
So, if the MOSFET is the right way to go, may I ask you a couple of questions?
1. Why do we need s NPN transistor AND a P-ch MOSFET? Can we simplify the schemantics by using a sole N-ch MOSFET? Can then we just connect active-high signal from GPIO pin directly to GATE pin of MOSFET (assuming that it's the logic level input, we don't need a resistor?). SOURCE pin of the MOSFET then would be +5VDC source, and load would be connected to DRAIN pin? Can this schemantics work, or I'm missing something? (sorry, as you can see I lack the basic knowledge of electrical engineering).
2. Speaking of MOSFETs, I'd probably like to use a dual channel one to control both modules and save some space. If I have a chance to select from different MOSFETs (i.e. can order any MOSFET made by FairChild Semi), what are the most important characterictics to look for? Obviously, I'd like to minimize current leakage in OFF state and voltage drop under load in ON state. Does it mean that the lower value of "Drain-to-Source ON resistance" is the better?
-albertr
-
What do you think about using FDS6910? It's a dual N-channel MOSFET in SO-8 package. It has "Drain-to-Source ON resistance" of only 0.017 Ohm which if I understand it correctly would give it 2.5VA * 0.017 Ohm = 0.0425V voltage drop @ 500mA load?
-albertr
-
Thank you for helping me out!
np
1. Why do we need s NPN transistor AND a P-ch MOSFET? Can we simplify the schemantics by using a sole N-ch MOSFET? Can then we just connect active-high signal from GPIO pin directly to GATE pin of MOSFET (assuming that it's the logic level input, we don't need a resistor?). SOURCE pin of the MOSFET then would be +5VDC source, and load would be connected to DRAIN pin? Can this schemantics work, or I'm missing something? (sorry, as you can see I lack the basic knowledge of electrical engineering).
No, this will not work. The MOSFET controlled by voltage difference between source and gate, when Gate is above (more positive than) Source by threshold voltage, the transistor starts to turn on. N-Channel MOSFET will work fine in the schematic "A" (replace pins like this base-gate, emitter-source, collector-drain), but this will disconnect ground wire from the device. Not sure if this is acceptable.
P-Channel MOSFET controlled similary, just reverse all voltage polarities.
2. Speaking of MOSFETs, I'd probably like to use a dual channel one to control both modules and save some space. If I have a chance to select from different MOSFETs (i.e. can order any MOSFET made by FairChild Semi), what are the most important characterictics to look for? Obviously, I'd like to minimize current leakage in OFF state and voltage drop under load in ON state. Does it mean that the lower value of "Drain-to-Source ON resistance" is the better?
At first, you should look at drain current and select a device wich allows at least Imax *1.2. Most modern MOSFETs have negligible "Drain-to-Source ON resistance" but it wouldn't hurt to verify volatge drop: Vdrop = Imax * Rdson (0.1V = 0.5A * 0.2Ohm).
Please note, that Rdson depends on gate voltage when it near gate threshold voltage and this depedency always represented graphically in datasheets. As for leakage in the off state - this will be very small value if transistor is closed.
What do you think about using FDS6910? It's a dual N-channel MOSFET in SO-8 package. It has "Drain-to-Source ON resistance" of only 0.017 Ohm which if I understand it correctly would give it 2.5VA * 0.017 Ohm = 0.0425V voltage drop @ 500mA load?
A bit different: Vdrop = 0.5A * 0.017Ohm = 8.5e-3V (by Ohm's law).
-
Boris, thanks!
1. Why do we need s NPN transistor AND a P-ch MOSFET? Can we simplify the schemantics by using a sole N-ch MOSFET? Can then we just connect active-high signal from GPIO pin directly to GATE pin of MOSFET (assuming that it's the logic level input, we don't need a resistor?). SOURCE pin of the MOSFET then would be +5VDC source, and load would be connected to DRAIN pin? Can this schemantics work, or I'm missing something? (sorry, as you can see I lack the basic knowledge of electrical engineering).
No, this will not work. The MOSFET controlled by voltage difference between source and gate, when Gate is above (more positive than) Source by threshold voltage, the transistor starts to turn on. N-Channel MOSFET will work fine in the schematic "A" (replace pins like this base-gate, emitter-source, collector-drain), but this will disconnect ground wire from the device. Not sure if this is acceptable.
Ahh, I misplaced the SOURCE and DRAIN. I was thinking of the opposite. Thanks for confirming it!
A bit different: Vdrop = 0.5A * 0.017Ohm = 8.5e-3V (by Ohm's law).
Ohh, I'm a complete idiot in the electric engineering, and just proved it again, sorry...
-albertr
-
Ok, so I'll try to use the N-channel MOSFET with logic level input, since it looks like it would allow for a much simpler schemantics (connect GPIO pin to GATE, SOURCE to GROUND and put LOAD between 5VDC and DRAIN). I just recovered some dead PCB that has a bunch of Toshiba TPC8002 and Int.Rectifier IRF7811A MOSFETs soldered on. They all seem to have a logic level GATE inputs and packaged in SO-8:
http://www.toshiba.com/taec/components/Datasheet/ee08225.pdf (http://www.toshiba.com/taec/components/Datasheet/ee08225.pdf)
http://www.irf.com/product-info/datasheets/data/irf7811a.pdf (http://www.irf.com/product-info/datasheets/data/irf7811a.pdf)
-albertr
-
On the same dead PCB I found the FairChild Semi's FDS6990A, which is a dual N-channel MOSFET with logic level GATE input. I decided to use it over other MOSFETs I had. It's in the same SO-8 packing, which is nice IMHO, since it's small, but not too small for comfortable soldering.
So, to make the story short, it works as expected. The only interesting side effect of using N-channel MOSFET that I see, is if 5VDC connected first via OTG regulator control, the usb hosts sees some signals on the data lines, so it tries to communicate with the device, but since the device's ground is disconnected, it fails and disables the port. So work around is to turn MOSFET first, and then turn OTG regulator.
Boris, thanks again for your help, it's much appreciated!
-albertr
-
On the same dead PCB I found the FairChild Semi's FDS6990A, which is a dual N-channel MOSFET with logic level GATE input.
Please note, that this transistor have very large input capacitance of 1235pF and series resistor (about 1k) between GPIO and gate are mandatory. If it missing, the GPIO pin may latch and blow the entire processor.
Also, you may wish to check if no current drawn for 5V bus via data lines when device is not powered.
-
Ahh, ok. Thanks again for valuable information.
If you have a choice to use any of the following MOSFETs:
- Toshiba TPC8203, TPC8005, TPC8002,
- International Rectifier IRF7811A, IRF7805
- FairChild Semi FDS6990A
Which one would you recommend? Or they are about the same and all of them require a 1K resistor?
Thanks,
-albertr
-
- Toshiba TPC8203, TPC8005, TPC8002,
- International Rectifier IRF7811A, IRF7805
- FairChild Semi FDS6990A
Capabilities of IRF* are exsessive for this task, TPC* are suitable and FDS6990A are the best from this list. But all of them are relatively high power MOSFETs and have large values of input and reverse transfer capacitances. If I had a choice, I'd better be used something like NDS351AN from fairchild.
It is always good idea to place resitor in series with gate.
-
Thanks! I guess I'll keep FDS6990A then. I already added a 1K resistor between GPIO and gate. I dont' have any other MOSFETs around, and ordering from manufacturer would take time.
IFDS6990A seems to work fine, but I'll try to measure the current leakage when gate is closed, I'm alitlle bit puzzled as of why wi-fi module signals on USB data lines when ground is supposed to be disconnected...
-albertr
-
IFDS6990A seems to work fine, but I'll try to measure the current leakage when gate is closed, I'm alitlle bit puzzled as of why wi-fi module signals on USB data lines when ground is supposed to be disconnected...
Because there are pullup resistors on either D+ or D- line as per USB standard. Thats why one usually disconnect +5V bus .
-
Boris, you're right - there're 15K resistors between USB data lines and the ground. So are you saying that some small amount of current is leaking thru data lines to the ground?
On a side note, I'll try to implement schemantics "C" from your drawing for wi-fi module, BT module seems to be fine with schemantics "A".
-albertr
-
I just recovered a FairChild's FDC658P P-channel MOSFET from the dead PCB (this PCB is a treasure chest - so many MOSFETs soldered on) that I will try to use in your schemantics "C".
-albertr
-
I'm happy to report that Boris'es schemantics "C" works great with power-hungry wi-fi module! I have one question, thou - I'd like to use schemantics "A" for bluetooth module, since it has less number of components and thus takes less space. But since 5V is connected all the time, can some amount of current leak thru the transistor? If so, could it be possible to estimate how much? From what I understand, leakage thru UART TX/RX lines is insignificant if any.
P.S. I also soldered a small orange LED to wi-fi module, it looks so cool blinking in the dark!
-albertr
-
I have one question, thou - I'd like to use schemantics "A" for bluetooth module, since it has less number of components and thus takes less space. But since 5V is connected all the time, can some amount of current leak thru the transistor?
When thansistor is closed the leakage currect are very insignificant. However, I'm still worry about leakage through data lines - could you please to try to break +5V line, connect a multimeter in it and meausre how much current flows when transistor is off (or just disconnect the ground) ?
If you would like to keep schematic "A", I also would recommend to check how GPIO line behaves on boot - is it tied to +3.3V via resistor (or may be to ground) ? If not, it is recommended to insert a 10k resistor between GPIO and GND to prevent chaotic power supply to the buletooth module during reboot. Schematic "C" need it less, because bipolar transistor connected with common emitter have very low input resistance.
-
Boris, thanks! I'll try to measure current, and then let you know.
On a side note, it looks like schemantics "A" has problems even with the power-friendly BT module. Sometimes, it doesn't work if I connect +5V first and only then the ground. So it looks like schemantics "C" is the way to go.
-albertr
-
As Boris suggested, I hooked up a multimeter, and got some measurements. They sure look very interesting:
1.BT ground disconnected, +5V connected: Â Â Â Â Â Â Â Â Â 59mA
2.+5V & ground connected initial BSCP negotiation: Â Â 42mA
3.BCSP link established: Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <1mA
4.HCI inquiry: Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 55mA
5.BCSP terminated, negotiation: Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <1mA
Here's my interpretations (please correct me if I'm wrong):
Obviously, #1 shows that schemantics "A" is no good.
Not sure why #2 and #5 are not the same - need to check how BlueZ terminates the link, but it's interesting finding.
-albertr
-
Here's some measurements for ZD1211-based wi-fi module:
1. idle, no driver is loaded: 93mA
2. assosiated and authenticated with 802.11b AP, idle: 196mA
3. RX: 215mA
4. TX: 270mA
Some comments:
- even simple housekeeping activity like receiving beacon adds ~100mA
- i guess that multimeter's sampling rate is rather slow, so there might be some current spikes it didn't catch, but still I don't see anything close to 500mA.
- power-saving modes were not tested, I'll try to take another look at it later
-albertr
-
1.BT ground disconnected, +5V connected: 59mA
Hmm, this is more than expected but proves my guesses.
BTW, I've completely forgot that we're talking about powering up USB module which should work even from 4.4V volts. This allows one to use cheap PNP like 2N2907 or BC807 in place of MOSFET (looking at schematic "C": connect emmiter instead of source , collector instead of drain, add an 1k resistor between collector of VT4 and base of VT3).
-
Well, I already found MOSFETs (no costs besides time spent on unsoldering), so for me the price is not a concern. But since we have space constraints, the number/size of the components is important.
Anyway, I'm going with schemantics "C" for both Wi-Fi and BT modules.
Thanks Boris for your help!
-albertr
-
Hello Albertr,
finally I could make an USB BT dongle work which I bought (BTW: They are quite cheap here. 16.99 EURO or so I have paid for it and the internals look ike they could fit inside the Microdrive Zauri..)
I have read your zaurus wireless page and from hat I understand, it should be easy to connect just on eUSB device internally without great modifications (the first few pictures on your page).
Is this correct?
Now, if I connect the dongle that way, is the external USB port (host and client) usable as before?
Does the internal addition need some kind of driver patch, or does it work right away?
I'm looking for a quick and easy solution, even if I cannot stuff two modules inside but just one.
Thanks a lot!
daniel
-
Daniel,
Sharp's OHCI glue driver for PXA270 doesn't enable port#1. So, you'll need to either use the replacement I wrote, or write your own. I'd suggest you to get your build environment working first. For compiling the kernel you'll probably need old gcc 2.X and related tool chain. Once you can compile the kernel and modules and verify that it boots and works on your Z, then take a look at the Sharp's driver - it should be pretty easy to figure out what needs to be done to enable the port#1.
As far as schemantics go, you're correct that all you need to get it working is two usb data lines, since power control lines are not traced on the PCB. But I would suggest to use a software controlled power switch, i.e. one drawn by Boris in his schemantics "C". Otherwise the USB dongle will drain your battery even when not in use.
-albertr
-
http://www.iral.com/~albertr/linux/zaurus/wireless/ (http://www.iral.com/~albertr/linux/zaurus/wireless/)
was updated with more pictures.
I guess that's pretty much it, and would conclude the ever first clamshell Z with internal wi-fi and bluetooth.
I'll probably keep updating the drivers from time to time, but as far as pictures/tracing/schemantics go, I consider it done.
-albertr
-
AlbertR, you win the Zaurus hardware modder of the year award!
Now you'd built your first, here's the big question. How much would you sell me a brand new freshly modified C1000 which offered wifi & bluetooth built-in, with (say) a 3 month warranty?
Think carefully, 'cos you may end up with a new temporary career!
-
Money-wise, I think that would only make sense if there's a small batch (maybe 10 or so) done at the same time. Otherwise, I'm afraid it could be way too expensive...
-albertr
-
Great work Albertr! Is there any option of people sending you their SL-C1000's and having you do the work on them? I'm pretty shakey with a soldering iron. If so, any ballpark figure for Parts + Labour + Shipping?
-
Hello
Since there seems to be a demand, I will see if I can arrange that with a local soldering small business who does a very clean job.
What people who have to do is :
- provide their Zaurus + the parts that must be fitted it, like the BT and WIFI usb dongles (it is your duty to check for compatibility !)
- pay for the time spent and s&h costs
Additional components could be purrchased locally by the shop, but usb dongles compatibility may vary on a per batch basis, so I wouldn't want to hassle them before the venture is operationnal and running .
Guylhem
-
Thanks guylhem!
Great idea.
-
Looking at this BT thing and figured that it's easier to put it on the processor side of the board. That being the case then the attached is needed to ge the TX RX CTS RTS lines right.
Picture shamelessly stolen from Albetr's excellent page.
-
Good idea! Especially for ppl with soldering skills , since these point are really small. The reason I went with resistor array was it's easier to solder than four separate leads.
-albertr
-
OK, Now I'm stuck.
Fitted the BT module but have no idea what other signals I need or what to do about the SW. I have only connected the 4 RS232 lines and + - supplies. I commoned all the supplies at this stage rather than putting any kind of control on them to turn it on or off, that will come later when I have it working (confident aren't I). I took the supply from the point that feeds the existing tracks for BT under the CF. It is available just above where the resistor pack goes.
I used an Ericsson BT module which the guy who owns this site http://www.stelioscellar.com/eShop/other.html (http://www.stelioscellar.com/eShop/other.html) informs me is fully supported in Linux. He sent me a CD image with rakes of docs and source code on so now I need help. What is my next step.
Soldering to the 4 pads was an absolute pig. It's time I realised I'm too old for this.
-
So you do have +3V, ground, TX, RX, CTS & RTS already connected to the module, right? If you don't have a software-controlled power switch, I would recommend to at least temporary use some small hardware switch on +3V line, it could be handly for testing. Or If you have RESET line on Ericsson module, you can connect it to some unused GPIO to be able to reset thru software.
Resetting the hardware sometimes could be very helpful when testing.
As far as software goes, just get the serial driver from my page, copy it over to Sharp's kernel tree and rebuild the kernel. Before rebuilding, make sure that it has the following options in its config:
CONFIG_SERIAL=y
# CONFIG_SERIAL_SL_SERIES is not set
You might also biuld it as a kermel module if you don't use the serial console.
-albertr
-
There is a reset line on the BT module and there is also a reset line on the original connecitons for the internal module but I don't knwo if all the components are on the MB or not.
So I need some kernel source files or are these already on somewhere, this thing has cacko on at the moment. Where can I find the kernel source? I can feel a bricked Zaurus coming on here.
I think it better to build it as a module but I have no idea how.
-
OK, Now I'm stuck.
Fitted the BT module but have no idea what other signals I need or what to do about the SW. I have only connected the 4 RS232 lines and + - supplies. I commoned all the supplies at this stage rather than putting any kind of control on them to turn it on or off, that will come later when I have it working (confident aren't I). I took the supply from the point that feeds the existing tracks for BT under the CF. It is available just above where the resistor pack goes.
I used an Ericsson BT module which the guy who owns this site http://www.stelioscellar.com/eShop/other.html (http://www.stelioscellar.com/eShop/other.html) informs me is fully supported in Linux. He sent me a CD image with rakes of docs and source code on so now I need help. What is my next step.
Soldering to the 4 pads was an absolute pig. It's time I realised I'm too old for this.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=123301\"][{POST_SNAPBACK}][/a][/div]
HEy if you need something from Stelios just tell me! He is a friend ...
He is also master in electronics
-
So I need some kernel source files or are these already on somewhere, this thing has cacko on at the moment. Where can I find the kernel source? I can feel a bricked Zaurus coming on here.
If your intend is to continue to run Cacko on your Zaurus, then look for the kernel source code with cacko's patches on their website.
EDIT: Here's the link: http://cacko.oesf.org/downloads/rom/1.23/c...l-2.4.20.tar.gz (http://cacko.oesf.org/downloads/rom/1.23/cacko-1.23-kernel-2.4.20.tar.gz)
-albertr
-
I found the sources including the one above (thanks). I also got
arm-cacko-linux-gnu-2.95.3-2.2.5-hardfloat-19.50_21.09.05 and
linux-c3000-20041116-rom1_01
I am so far away from being able to do this that I fear I will die of old age before I sort it.
As far as building my own kernel goes all that I know is I download the sources then use make menuconfig, xconfig or manually edit the .config file then build the kernels and modules and install them. This is on my desktop computer.
After looking in what I downloaded for what I think I need there is no .config file and the Zaurus doesn't have the kernel binary where I think it should be (according to my desktop computer) so things are obviously done in a different way. It's looking to me that I have to use a X86 linux machine to cross compile for the Zaurus then make an image and reload the complete OS onto the Zaurus using the boot menus.
I really do need to do a lump of reading as I can't even get off first base in figuring all this out.
Any links please.
-
There're two directories in the cacko-1.23-kernel-2.4.20.tar.gz archive. One is linux kernel tree (with cacko patches already applied) and the other is kernel config file. If you have C3000, use spitz, if you have 3100, use borzoi. Copy it to linux/.config.
Unpack the serial driver over the kernel tree, replacing the old files.
Run menuconfig/xconfig to enable the serial driver (under character devices section) and disable "SL-series serial port support".
Run `make dep`, then `make zImage`.
The new compressed kernel will be found as linux/arch/arm/boot/zImage.
-albertr
-
There're two directories in the cacko-1.23-kernel-2.4.20.tar.gz archive. One is linux kernel tree (with cacko patches already applied) and the other is kernel config file. If you have C3000, use spitz, if you have 3100, use borzoi. Copy it to linux/.config.
OK
Unpack the serial driver over the kernel tree, replacing the old files.
OK
Run menuconfig/xconfig to enable the serial driver (under character devices section) and disable "SL-series serial port support".
OK
Run `make dep`, then `make zImage`.
On the Zaurus or the PC. Presumably, if it is on the PC, I have to do soemthing to make it compile for the PXA rather than the X86, if it is on the Zaurus then I need to install GCC?
The new compressed kernel will be found as linux/arch/arm/boot/zImage.
Where is it on the Zaurus?
-
If you have a native compiler/toolchain installed on the Zaurus, then you can compile it there. Otherwise use a crosscompiler.
-albertr
-
So is this a cross compiler or a native compiler or soemthign else. How do I use it?
arm-cacko-linux-gnu-2.95.3-2.2.5-hardfloat-19.50_21.09.05
Having a directory called "cross" I assume it is the former so I added the path for the bin files with:-
export PATH=$PATH:/home/jd/Desktop/bluetooth/kernel/arm-cacko-linux-gnu-2.95.3-2.2.5-hardfloat-19.50_21.09.05/opt/cross/arm/2.95.3/bin
and make dep gives me:-
Making asm-arm/arch -> asm-arm/arch-pxa symlink
Making asm-arm/proc -> asm-arm/proc-armv symlink
rm -f include/asm
( cd include ; ln -sf asm-arm asm)
make[1]: Entering directory `/home/jd/Desktop/bluetooth/kernel/cacko-1.23-kernel-2.4.20/cacko-1.23-kernel-2.4.20/linux/arch/arm/tools'
/home/jd/Desktop/bluetooth/kernel/cacko-1.23-kernel-2.4.20/cacko-1.23-kernel-2.4.20/linux/scripts/mkdep -D__KERNEL__ -I/home/jd/Desktop/bluetooth/kernel/cacko-1.23-kernel-2.4.20/cacko-1.23-kernel-2.4.20/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=4 -march=armv4 -Wa,-miwmmxt -mtune=strongarm -mshort-load-bytes -msoft-float -Uarm -- getconstants.c |\
sed s,getconstants.o,constants.h, > .depend
make all
make[2]: Entering directory `/home/jd/Desktop/bluetooth/kernel/cacko-1.23-kernel-2.4.20/cacko-1.23-kernel-2.4.20/linux/arch/arm/tools'
arm-cacko-linux-gnu-gcc -D__KERNEL__ -I/home/jd/Desktop/bluetooth/kernel/cacko-1.23-kernel-2.4.20/cacko-1.23-kernel-2.4.20/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=4 -march=armv4 -Wa,-miwmmxt -mtune=strongarm -mshort-load-bytes -msoft-float -Uarm -S -o constants.h.tmp.1 getconstants.c
make[2]: arm-cacko-linux-gnu-gcc: Command not found
make[2]: *** [constants.h] Error 127
make[2]: Leaving directory `/home/jd/Desktop/bluetooth/kernel/cacko-1.23-kernel-2.4.20/cacko-1.23-kernel-2.4.20/linux/arch/arm/tools'
make[1]: *** [dep] Error 2
make[1]: Leaving directory `/home/jd/Desktop/bluetooth/kernel/cacko-1.23-kernel-2.4.20/cacko-1.23-kernel-2.4.20/linux/arch/arm/tools'
make: *** [archdep] Error 2
Stuck again now.
-
Am I going to be able to do this more easily if I use a different ROM. At this stage I don't care which ROM is installed.
-
Today I found Zydas ZD1211 based USB Wifi dongles on sale at Fry's for $8.99+tax!
its called Airlink 101 AWLL3026/NA
It opens up very easily. I wonder if the PCB will fit inside C3100.
-
RE: Eriksson ROK module, been reading the specifications... it's a 3.3V device for both power and logic levels.
It has an I2C master interface, which I guess can be used to extend the I/O capability somewhat.
From the spec, it seems that these are not lead-free, which might explain how come there have been so many dumped on the market.
So, my question is this... how easy will it be to hook it up to my 860? Is there a spare serial port, or should I consider stealing the IRDA comm port?
-
I found an interesting device
http://www.newegg.com/Product/Product.asp?...N82E16833156046 (http://www.newegg.com/Product/Product.asp?Item=N82E16833156046)
Single dongle that does both wifi and bluetooth. I have downloaded windoze drivers from Trendnet website and it seems the wifi part uses Zydas ZD1211 chip.
-
Btw, this is my latest experiment
- el cheapo small usb hub
- airlink wifi dongle
- trendnet bt dongle (pdaxrom 2.4 kernel does not detect it ;-() it works in my desktop and in my laptop though
- 512mb flash drive
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
unfortunately zaurus does not have enough mojo to power all these devices together
but it works in my Vaio U3
maybe I can stuff this into my Vaio!
-
I found an interesting device
http://www.newegg.com/Product/Product.asp?...N82E16833156046 (http://www.newegg.com/Product/Product.asp?Item=N82E16833156046)
Single dongle that does both wifi and bluetooth. I have downloaded windoze drivers from Trendnet website and it seems the wifi part uses Zydas ZD1211 chip.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=123729\"][{POST_SNAPBACK}][/a][/div]
Interesting. Do you have one? If you can get it to work on a desktop linux machine (ideally with a 2.4 kernel), it could be made to work on the zaurus.
Guylhem
-
more at
http://www.trendware.com/products/TBW-103UB.htm (http://www.trendware.com/products/TBW-103UB.htm)
edit: shame it's not bluetooth 2.0 as well as 802.11a but then maybe I'm being too demanding!
-
Interesting. Do you have one? If you can get it to work on a desktop linux machine (ideally with a 2.4 kernel), it could be made to work on the zaurus.
Guylhem
Not yet.
I have to order it.
-
http://www.iral.com/~albertr/linux/zaurus/wireless/ (http://www.iral.com/~albertr/linux/zaurus/wireless/)
was updated with new software. Nothing radical, just minor clean-up,
-albertr
-
Finally managed to build a kernel. Bit of an epic.
Googled and come up with lots of ways to do this but I am sure there is only one correct way.
How do I put this kernel on? (SL-C3000)
If my kernel is stuffed can I easily recover or might it brick the Zaurus?
Just looking for some reassurance
-
You can flash the kernel the same way you flash the Cacko ROM. Put the updater.sh from Cacko ROM on empty card. Copy your recently built zImage to this card and flash from it.
It could be a good idea to backup the content of your NAND chip first, just in case.
-albertr
-
OK, kernel loaded.
More handholding please
I have decided that this serial port is ttyS2 as ttyS1 seems to be IR and I assume ttyS0 is the wired serial port on the back.
If I type "hciattach /dev/ttyS2 csr 460800" then I get "Initialization timed out."
If I type "hciattach /dev/ttyS2 ericsson 460800" then I get my prompt back with no error messages.
Is this proving that the module is getting initialised OK? (it is an Ericsson module)
After this I type "hcid -f /etc/bluetooth/hcid.conf" then "sdpd" (I have no idea why)
Then "hcitool scan"
This gets me "Device is not available: Success"
Which isn't really what I was hoping for
Am I heading the right way, what next?
-
If I type "hciattach /dev/ttyS2 csr 460800" then I get "Initialization timed out."
If I type "hciattach /dev/ttyS2 ericsson 460800" then I get my prompt back with no error messages.
Is this proving that the module is getting initialised OK? (it is an Ericsson module)
[div align=\"right\"][a href=\"index.php?act=findpost&pid=125270\"][{POST_SNAPBACK}][/a][/div]
No it isn't as I get the same response from ttyS1 and I don't have two Ericsson modules loaded. So, how do I tell it's there?
With my scope attached to TX on the motherboard, after boot the line is at 0v
After
hciattach /dev/ttyS0 ericsson 460800
and
hciattach /dev/ttyS2 ericsson 460800
the TX line stays at 0v
after
hciattach /dev/ttyS1 ericsson 460800
the TX line goes to 3.3 volts but there is no burst of data into the BT module from the motherboard.
This suggests to me that the connections are ttyS1. It is also pretty apparent to me that ttyS1 is used for the infra red as "cat /proc/tty/driver/serial"
returns
serinfo:1.0 driver:5.05c revision:Apr 30 2006
0: uart:PXA UART port:F8100000 irq:22 baud:460800 tx:5 rx:0 RTS|CTS|DTR|DSR|CD|RI
1: uart:PXA UART port:F8200000 irq:21 baud:460800 tx:0 rx:0 RTS|DTR
2: uart:PXA UART port:F8700000 irq:20 baud:460800 tx:0 rx:0 RTS|DTR
after I have used the hciattach command but after using the infra red send or receive in the settings tab the entry for ttyS1 is changed.
So it appears that I have IR and BT on ttyS1
-
BTUART is /dev/ttyS1.
You can check the content of /proc/tty/driver/serial, it should give you idea if speed was set right and how many bytes were sent/received and if there's any parity/frame/overrun errors. If you see many frame/parity errors for ttyS1, when there might be something wrong with wiring. Also, you have to use hardware flow control for H4 uart protocol (check hciattach options to make sure).
-albertr
-
SiR is wired to STUART, which should be /dev/ttyS2.
-albertr
-
So how do I get over the IR also being on ttyS1
This is copied from an SSH session
# hciattach /dev/ttyS1 ericsson 460800
# cat /proc/tty/driver/serial
serinfo:1.0 driver:5.05c revision:Apr 30 2006
0: uart:PXA UART port:F8100000 irq:22 baud:460800 tx:5 rx:0 CTS|DSR|CD|RI
1: uart:PXA UART port:F8200000 irq:21 baud:460800 tx:0 rx:0 RTS|DTR
2: uart:PXA UART port:F8700000 irq:20 baud:460800 tx:0 rx:0
now, using the 10 hands that I have, I turn the Z over holdiong the battery in as ther eis no bottom on it and click the IR receive icon in the settings tab and tell it to receive. Go back to my SSH seesion and :-
# cat /proc/tty/driver/serial
serinfo:1.0 driver:5.05c revision:Apr 30 2006
0: uart:PXA UART port:F8100000 irq:22 baud:460800 tx:5 rx:0 CTS|DSR|CD|RI
1: uart:PXA UART port:F8200000 irq:21 baud:9600 tx:0 rx:0 RTS|DTR
2: uart:PXA UART port:F8700000 irq:20 baud:460800 tx:0 rx:0
#
Does this not prove that the IR is on ttyS1?
-
As you say (Albertr) it is in fact ttyS1. I don't know why using the the IR sets the TX on ttyS1 but if I cat "a file" >> /dev/ttyS1 I can watch it with my scope.
The problem is the reset as suggested earlier. According to teh datasheet there is no need for a power up sequence if the three power supplies are connected to a common V but it only respponds correctly if I reset it after power up.
It now scans and finds things so it would seem to be installed correctly, working kernel and so on. Now need to sort the power on off I think. I suppose it's actually best to do this mechanically as I willprobably be using this thing on aeroplanses and you can't beat a mechanical connection for being sure.
-
Good to hear that you have sorted it out! I'm using software power control via GPIO pin, which is IMHO more convenient than any hardware switch.
Not sure why IRDA applet in Cacko resets ttyS1 speed. Did you try to send/receive via IRDA after your modification? Does IRDA still work?
-albertr
-
My not initialising problem is to do with the rise time of the power supply on the Zaurus. The spec. sheet for the BT module says reset at power on isn't needed and no power on sequence is required if the three power supply lines are commoned. This isn't what I was seeing so a closer look reveals that the power supply rise time has to be < 62 us and the actual rise time internally is > 200 us so that's why it isn't working without a reset.
This means that I either wire the reset or wire the PSU either through a transistor or a manual switch. Power supply makes more sense as powering it off is a requirement so I need an I/O line that's suitable, the ones in the battery compartment look favourite but I need some input on the software side or it's going to be a switch on the outside.
Input please.
-
On my page there's a link to the userland utility that I use to control the power thru GPIO pin.
Just change the pin number to the one you use, should be as easy as that.
-albertr
-
I looked at that. It's the thought of compiling it
I'll give it a go.
-
Compiled fine. Being a lazy git I decided to try GPIO 84 so I didn't have to take the MB out of the top half.
Suffered from minor panic when met with a flashing green LED and naff all else, as soon as power is applied.
It would seem that if there is 10 k or less to ground on GPIO 84 when either the battery is put in or external power is applied the Z goes into some strange mode.
I couldn't get it to do anything though I didn't try too hard due to the "oh no I've trashed my Z" palpitations in my chest.
-
Having decided that GPIO 84 aint going to cut it I need another one on the top of the board.
The BT module only works if I specify "noflow" during hciattach so CTS and RTS are not needed. Are they disab;ed in the modified serial driver?
Can I use one of these or is it unsafe because of the serial routines?
If I can use it what is it's I/O number?
Is there easy access on this side of the board to any other spare I/O line?
Is GPIO 35 available on this side?
-
There's #define in the serial.c file (look at the first few lines of the code). It controls whever CTS/RTS used as GPIO pins. The pin numbers are documented on my page.
It's strange that hardware flow control is not used in BlueZ for Ericsson ROK module. I thought that it's required for H4 UART protocol, but guess I was wrong... Did you try to transfer large amounts of data over BT link?
Sorry to hear that GPIO84 didn't work, I'll try to double-check pin 84 when open my Z next time.
-albertr
-
I haven't tried transferring anything over it as yet so I don't know if the handshaking thing will be a problem.
Everything I have read says that handshaking is needed with teh Ericsson module but for sure if I don't disable I get no data transfer on the TX RX lines.
-
I would suggest to try some testing with transferring large amounts of data over the bluetooth link before deciding that you can get away without using hardware flow control.
-albertr
-
from Albertr's Zaurus page (http://www.iral.com/~albertr/linux/zaurus/wireless/):
While ZD1211 chipset supports all 802.11a/b/g freq's and modulations, the driver will work in 802.11b mode only if attached to USB 1.1 bus.
Are there any USB "keychain" dongles with open source drivers that can work in Wireless-G mode on a USB 1.1 bus? Even though the througput would be limited to below Wireless-B speeds, it is still usefull to have Wireless-G capabilities for scanning and G-only access points.
Would a bluetooth module operate at the same speed using btuart vs. USB? Does btuart mode support the same profiles as USB?
Could anyone provide a simplified connection diagram for those who are capable solderers, but do not posses the electronics knowledge? I wish to perform the USB OTG Power Domain and btuart bluetooth mods. The extra power would either go towards the external USB port or an internal wifi module (provided I can make space for one)
-
AlbertR,
I've now received some of the AML bluetooth modules and they are literally wafer thin - maybe slightly less than a millimetre thick. Do you think there's a chance that one could be squeezed into the gap under the CF card in a C3x00?
(assuming you'd buy one without the built-in antenna and run a very fine cable to an antenna fixed to the case)
Paul
-
Are there any USB "keychain" dongles with open source drivers that can work in Wireless-G mode on a USB 1.1 bus? Even though the througput would be limited to below Wireless-B speeds, it is still usefull to have Wireless-G capabilities for scanning and G-only access points.
It shouldn't be very difficult to modify ZyDAS's driver to work on b/g even when on USB1,1 bus. How good it would work is a different question. I'm not sure about other g-capable wifi usb chipsets like Ralink's.
Monitoring mode is a bit flaky with ZyDAS, at least with the current drivers.
Would a bluetooth module operate at the same speed using btuart vs. USB? Does btuart mode support the same profiles as USB?
Using the "de-sharped" serial driver, PXA270 works fine @ 961200 baud. That seems to be more than enough to cover BT 1.1 througput, even with BCSP packets overhead.
If you need 2.0 EDR speeds, you'll have to use usb.
As far as profiles go, they are implemented in modules' HCI firmware and in HCI bluetooth stack, so it's not interface-dependant.
Could anyone provide a simplified connection diagram for those who are capable solderers, but do not posses the electronics knowledge? I wish to perform the USB OTG Power Domain and btuart bluetooth mods. The extra power would either go towards the external USB port or an internal wifi module (provided I can make space for one)
What diagram you are looking for? For USB OTG power regulator all you need is just to replace one resistor. It's pictured on my page. For BTUART to serial BT module connection just connect TX to TX, RX to RX and if you need hardware flow control - CTS to CTS and RTS to RTS. Also connect VCC and GROUND to power module up. If module has a TTL-level RESET input, you can implement resetting circuit via some GPIO line.
-albertr
-
AlbertR,
I've now received some of the AML bluetooth modules and they are literally wafer thin - maybe slightly less than a millimetre thick. Do you think there's a chance that one could be squeezed into the gap under the CF card in a C3x00?
Paul, I don't know since I don't have a C3x00. It might be easier for you to just open yours up and measure its internal spacing. Let us know if it does fit...
-albertr
-
Albertr:
Thanks for the info! I browsed through the zd1211-dev list (http://www.nabble.com/zd1211-devs-f3221.html), and from what I could tell it indeed proved troublesome to enable 802.11g with USB 1.1. However, at this point I would be content to have "only" internal 802.11b and bluetooth.
I do not know how to translate the schematic (http://www.iral.com/~albertr/linux/zaurus/wireless/schemantics.png) for controlling power to individual modules. If it is not too much trouble, a diagram that shows the interconnection between modules, power regulator circuit and main board would be best.
-
There was a discussion about schemantics a few pages back. I'm not an electric engineer myself, Boris helped with schemantics. Basically, on his picture LOAD means the module itself. You can find GROUND in many places on Zaurus PCB, including OTG connector. However, beware that OTG connector's ground and +5V are protected from spikes with inductors, so some bouncing may occur. Not sure about possible implications, someone with more electrical knowledge would explain it better...
If you change the resistor in OTG power requlator, it can provide 500mA. I replaced the resistor with a 1K one, and it works fine - it has sufficient current for both ZD1211-based wifi and CSR BC02-Ext-based bluetooth modules at the same time. "3.3V" on Boris' picture means GPIO pin that controls the gate (base) of transistor.
-albertr
-
Albertr:
Thanks again! I am now one step closer to attempting this mod. I am not ready to tackle it at this point, but hopefully within the next few weeks. I will post a diagram for approval, just to lessen the chance that I fry the Z. Of course, I would still take full responsibility in the result of failure.
In the meantime, I need to know if anyone is using these mods with OpenZaurus. If not, how difficult would it be to modify the software to work with OZ (2.6 kernel)?
I will be performing these mods on a C3000, so I do not have an empty microdrive space to work with, though there are other potential locations for module(s). However, I may need to attach external patch antennas to the module(s) for routing to the edge of the case of the Zaurus. Does anyone have any experience with this? Is it a simple matter of cutting or otherwise disconnecting the module's PCB antenna and soldering the antenna cable in its place?
-
I used the 802.11 antenna from inside the screen of a broken laptop. They are all the same, a thin plastic PCB, like ribbon cable and it already has the coax soldered to it.
-
Mjolinor:
Nice! Where on the Zaurus did you place the antenna? Have you done any before & after tests regarding reception? Also, I don't suppose the length of coax matters at such short distances(?)
-
Not done any testing and I didnt actually use the coax. I soldered the antenna to the bluetooth unit directly, they are only as thick as a piece of paper.
I tried to find a pic on the net but I can't Ill take a picture of one of these tomorrow
-
AlbertR,
I've now received some of the AML bluetooth modules and they are literally wafer thin - maybe slightly less than a millimetre thick. Do you think there's a chance that one could be squeezed into the gap under the CF card in a C3x00?
Paul, I don't know since I don't have a C3x00. It might be easier for you to just open yours up and measure its internal spacing. Let us know if it does fit...
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=128194\"][{POST_SNAPBACK}][/a][/div]
I don't have a 3x00, I think I'd rather have an AlbertR-special-1000 with bt and wifi than a 3x00 without.. so I was hoping to establish whether such a thing were possible!
-
Ahh, sorry, I didn't know that you don't have a C3xxx... Anyways, with SD/MMC driver that supports large cards and price of 4GB cards now under $100, I really don't see any point of getting any C3xxx over C1000. In fact, my modded C1000 is almost perfect, my only wish would be 128MB of RAM.
-albertr
-
Ahh, sorry, I didn't know that you don't have a C3xxx... Anyways, with SD/MMC driver that supports large cards and price of 4GB cards now under $100, I really don't see any point of getting any C3xxx over C1000. In fact, my modded C1000 is almost perfect, my only wish would be 128MB of RAM.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=128442\"][{POST_SNAPBACK}][/a][/div]
I am being greedy again... I am waiting for the 20GB microdrives to be available/affordable, then use the external CF slot for either GPRS modem or GPS nav cards, and the SD slot for temporary/removable storage...
hence I would want to minimise the impact of fitting additional components into the Z and not block the use of the CF slot.
-
I hacked an XFCE4 plugin to control power of my internal Bluetooth and WLAN modules from XFCE panel.
http://www.iral.com/~albertr/linux/zaurus/powerctl.html (http://www.iral.com/~albertr/linux/zaurus/powerctl.html)
-albertr
-
Updated http://www.iral.com/~albertr/linux/zaurus/wireless/ (http://www.iral.com/~albertr/linux/zaurus/wireless/) with information on I2C bus location (at least on C1000).
-albertr
-
Very nice, i can think of a few things to add to that bus now, i assume its a 3.3v i2c bus and not 5v
this could be handy to add another 2c io expander off
-
albertr have you come across gpio 18 at all' i have been looking at my 2700g video card hack and remebered that this is the only pin that i need to find
-
It looks like GPIO18 is available, it's just pulled high.
-albertr
-
Thank you, my search is now complete
actually just hours ago i convinced myself that i should build my own pda from scratch bassed around freescales i.mx3 chip as i can both get them and get them cheaply whereas i now have to source the 2700g
anyway thanks again, could you send me some more info on where i can find it
-
Are you saying you found a board with an iMX3 and a 2700G for little money? Your post has a typo that makes this hard to discern.
-
Sorry about that, this new info means a 2700G on any of the c*K series (1000,3000,3100,3200)
the iMX3 is a custom PDA idea as the 2700G chip is VERY hard to get. dont want to hijack this thread anymore so if you want more info then contact me direct or make another post
-
anyway thanks again, could you send me some more info on where i can find it
[div align=\"right\"][a href=\"index.php?act=findpost&pid=129693\"][{POST_SNAPBACK}][/a][/div]
I'll try to take some pix next time I open it up.
-albertr
-
Hi guys,
followed your thread for a while and decided to join with my C1000.
I got the following idea and would like to read what you are thinking.
First as far as I understood there is a unused USB-host-port inside the Z.
Secondly there is a (for normal users) unused COM-port (unlike you like to do some deep hacking).
Thirdly there is a unused I2C-Bus.
My idea (most is nearly the same as proposed already ) would be as followed. Use or create a tiny USB-hub. Maybe buy a tiny one and "cut off" everything unneeded like LEDs, Plugs (hard soldering the USB stuff), everything related to external power etc.
Buy a tiny Wifi-, a Bluetooth-, and a Flashmemory-Stick. Cut again everything which we do not need internally.
Solder everything together and attach it to the free USB-port.
Up to here it is more or less the same as Da_Blitz and albertr discussed already.
My next step would be the use of either the I2C or the COM port with a I/O Expander to create 3 I/O pins (maybe the COM itself can provide some pseudo I/O already).
This I like to do to save the generic GPIO (you never know for what they are needed ).
Use one of these tiny ICs to switch the power to the different USB lines. (I saw one from Maxim with a bunch of additional features like current control etc.). Create a little logic circuit
In addition it should be easy to create a "driver" for a COM-based power-controller
Now I should be able to turn on memory, WLAN or bluetooth individual. If all turned off, the logic circuit will turn off the power to the USB-hub just to save juice.
Thats more or less my silly idea of a way how it could work. Any comments
Zuse
CC. Maxim (this is no ad, I do not get money ) shows tiny WLAN, Bluetooth, GPS etc. modules and ICs. Maybe one way to create a "professional" daughterboard to upgrade the Z.
-
Go for it. Post pix when it's done.
--albertr
-
Most usb hubs can control thier power ports anyway, so the io expander is only needed to turn off the hub
the patches should be in the 2.6 kernels, not sure about 2.4 as i dont really follow them
btw i read they "fixed" a power bug where they were allowing devices that draw to much power to do just that and now they fixed it there are some devices that the kernel wont allow to be powered up (i have a couple right here)
-
Hi Da_Blitz,
Most usb hubs can control thier power ports anyway, so the io expander is only needed to turn off the hub
Thats right but the just control that the single devices drain not to much current. What I need is a way to "unplug" (from the Z point of view) unused devices. Since they are fixed inside my Z, I need a way to control wether I like to power them or not. The easiest would be to "cut" the USB power lines to simulate the unplug of a device.
:albertr For sure I will post pix
Greetings
Zuse
-
Tahts exactly what the usb hubs can do they can switch off the power totaly to a port if i rimeber corectsy ethier that or they allow low current (less than a miliamp) to detect when the old device is pulled out and a new one is plugged in
i would try it at home on a 2.6.16 kernel, hunt throgh the /sys tree for the file
-
Hi again,
Tahts exactly what the usb hubs can do they can switch off the power totaly to a port if i rimeber corectsy ethier that or they allow low current (less than a miliamp) to detect when the old device is pulled out and a new one is plugged in
O.K. that’s something I have to test. The physically plug and unplug of a device need to be detected somehow. The question is what happens if you "suspend" (in terms of software) a USB-device? Is there no current drain at all, or might there be still a little and if so, how much?
To save juice the best idea would be to disconnect the unused devices. Therefore, the question is how much difference (in terms of current) would it be for a suspend stick compared to a physical "cut-off" stick (by means of some electrical switches) + the required juice to run such electronic.
Another problem which occurs to me during the "Get-the-stuff-together"-phase; There are a lot of tiny sticks (memory, wlan, bluetooth) available. But mostly the sellers do not write about the internals. I need to know the chipsets to know whether it runs under linux. In addition the size of the actual PCB-boards would be fine, as well as the power consumptions. Last but not least I have to take care for the size factor of the wlan and bluetooth antenna.
A lot of unknown parameters. Any idea how to get this info or any devices which you favourite?
Greetings
Zuse
-
Zuse:
FCC Equipment Authorization Database (https://gullfoss2.fcc.gov/prod/oet/cf/eas/reports/GenericSearch.cfm) (in case you did not already know)
All wireless devices sold or intended for use in the US must obtain FCC approval. The trouble is getting the FCC ID number when you do not have the actual device in hand. Even searching by manufacturer is hit-and-miss because many deviced are OEM'ed. Still, it is an excellent resource.
By the way, I am also thinking along the same lines as you for my Zaurus mods. I hope (but doubt) it is possible to fit a type I CF card and USB hub in the CF slot. The smallest hub I have seen is this Targus mini hub (http://www.targus.com/us/product_details.asp?sku=ACH63US), which is also sold OEM'ed by several other resellers. I have not picked one up yet, though, so I do not know what the internals look like.
-
you can calculate the current draw or just read the usb spec search for standby current, i belive its less than 1mA
i have a usb hub smaller than a cf card and a bluetooth stick that can fit on top and still have it sit nicley in my CF card slot so i am going to do it that way (i dont use the CF slot) the advantage is that i will have 2 full usb ports sticking out the side
btw thats the same hub i have but i removed 2 usb sockets on one side
-
Bluetoothe is fairly universal luckily the one i have is about 1cm by 2cms and is paper thin
forgot to mention that that hub is fairly hackable, i picked it up for about AU $10 with a retractable cable (thats why i got it), the board is about the sive of 2 full sized usb ports, it wont allow you to have both but i think 2 full sized ports are worth losing my CF slot as usb flash is so cheap
-
Hi Lurker,
thanks for the info. I know the fcc page. However, as you wrote already normaly nobody place the fcc number in the article description.
For bluetooth I think I will find a small and cheap stick easly.
Memory are even less problematic. I think I may even use a tiny USB adapter and a mini-SD card.
For Wlan I need WPA encryption as far as I know this requires Prism chipset and hostap driver.
For the USB hub i found a cheap 4 port hub. Since I may not use the USB-plugs itself (directly solder them wire by wire) I think I can make the whole setup even smaller.
However, first I will try everything in the oridnary way on my C1000
Greetings
Zuse
-
Hi Da_Blitz,
thanks for your information. In the moment I do not know whehter I like to use the CF-port or the space left in my Aktita (where the C3x000 keeps the microdrive).
In general the Cxx00 serie owns a USB-port already. O.k. you need an adapter cable but why not (You also wrote about "case-modding" why not replace the mini-USB A plug by and normal USB A plug)
More interesting is the use of a internal wlan and bluetooth. I use a D-Link 660W in the moment. Works great but the antenna is somewhat sticking out and make the handling of the Z somewhat clumsy.
if in addtion a flash-memory can be included as well fine
I just got another idea ... let me check the CF-specs
Thanks
Zuse
-
For Wlan I need WPA encryption as far as I know this requires Prism chipset and hostap driver.
prism usb is only working with wlan-ng driver and that doesn't support WPA... only prism CF cards work with hostap.
usb ralink b/g does work with hostap (I think).
-
wpasupplicant doesn't require Prism chipset drivers. In fact, it can work with a broad range of hardware if appropriate WE support is implemented in the drivers. I.e. on my C1K, I have a ZD1211-based usb module doing WPA just fine...
-albertr
-
If a USB hub were to be wired to the internal port, would the power control (http://www.iral.com/~albertr/linux/zaurus/wireless/schemantics.png) circuit still be needed? I understand that it controls power on/off to the individual devices, but does it perform any other function? In other words, what negative effects would occur if a device were to be directly soldered to the internal port? My guess is that the device would continue to to draw power even when its driver is unloaded, but how much? Would it not go into a "sleep" mode?
I ask these questions because as an OpenZaurus user the software side is in question. My limited knowledge leads me to believe that Albertr's code most likely would not work on OZ without modification (I did not get an answer when I asked before). I don't really need an internal USB hub, but it is an acceptable stop-gap solution if it bypasses the need for additional software. Now all I need to know is if OpenZaurus recognizes the internal USB port. The following dmesg snippet leads me to believe it does:
hub 1-0:1.0 : USB hub found
hub 1-0:1.0 : 3 ports detected
-
A few pages back there were some current consumption numbers posted.
-albertr
-
OZ should just work, but i have yet to try it out
-
A few pages back there were some current consumption numbers posted.
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=132214\"][{POST_SNAPBACK}][/a][/div]
I'm sure they were but not only is this thread 21 pages long now, trying to read through all the electrical tech-speak gave me a headache
-
this thread really needs to be distilled down to a wiki entry; but then also I think Albert's page is pretty complete too.
-
Exactly what kind of resistor is used for the USB OTG power domain mod? Could someone point it out for me in the Mouser Electronics (http://www.mouser.com/?Ne=100&handler=data.listcategory&N=120) selection? I was originally planning to use a carbon film resistor such as those sold by Radio Shack, but I now see that my sense of scale was waaaay off. Those surface-mount resistors are tiny! I suppose I could still manage to work the carbon-film resistor in there, and it might actually be best considering my soldering skill level, but is that type of resistor suitable for this application electrically (reliability)?
This will hopefully be the last piece of info I need. Thanks Albertr, Boris, Da-Blitz and everyone else who has researched this project and helped the clueless to understand it
-
Any resistor would do. The amount of current flowing thru it is almost nil. The 5-10% deviation from nominal resistance is insignifacant too. I use the one from Radioshack solded with flying leads. Works fine.
-albertr
-
Albertr,
Sorry, just one more thing...
On your project page, under the USB OTG Power Domain section, it states:
....
This limit could be lifted to:
# ~400-450mA with a 2K resistor
# ~500mA with a 1.6K resistor
# ~600-650mA with a 1K resistor
....
According to the following post by Boris, it should be safe to draw ~500mA from this regulator. I'm using it with a 1K resistor on the PCL pin, and it's able to provide sufficient current to power both internal Wi-Fi and bluetooth modules at the same time.
You have stated several times that you are using a 1k resistor. Has this proven to be safe? Or are you simply making sure your device's total power draw does not exceed 500mA?
My local RadioShack only stocked 1k and 1.5k resistors (in the range that I need). Which would you recommend?
-
I'm not sure I understand your question... Yes, I'm using a 1K resistor. It works fine for me. What kind of proof you are looking for? With a 1K resistor on PCL pin, TK3850 is delivering enough juice to power both wi-fi and bt modules inside my C1K. But if I connect the external usb ethernet dongle at the same time, it shuts itself off (overcurrent protection kicks in). I didn't really want to have a possibility of three usb devices powered up at the same time, so it's fine with me. Most of the time, I use either bt or wi-fi or external ethernet only.
-albertr
-
<deleted>
Sorry, I wrote that after a long day. When I went back and re-read it just now, I finally saw how little sense it made.
-
Sounds like it should work to me as a lower val means more current and 500mA < 600mA, even if 1.6K is 500mA you can only get 1K or 1.5K so your limit should be above 500mA
-
wpasupplicant doesn't require Prism chipset drivers. In fact, it can work with a broad range of hardware if appropriate WE support is implemented in the drivers. I.e. on my C1K, I have a ZD1211-based usb module doing WPA just fine...
-albertr
[div align=\"right\"][a href=\"index.php?act=findpost&pid=132059\"][{POST_SNAPBACK}][/a][/div]
hmm, so how can we get WPA working on the 6000 which is a usb prism chipset for which there only appear to be wlan-ng? maybe take this to the 6000 section?
-
Hi Modders,
just found this one here
Suncore Wireless LAN / Bluetooth USB Kombi-Stick
http://www.suncore.com.tw/ (http://www.suncore.com.tw/)
I do not know it was discussed already here or not (the thread got to long to remember all).
Just need to find out whether it works under Linux or not, and if so together with WPA.
Maybe someone can open one to check the chipssets.
I can contact the suncore people if it might be from more interest.
Best regards
Zuse
-
anyone got a copy of albertr site, cant seem to get a response from the server (it accepts the connection but dosent send any data back)
-
I copied this page, (by albertr), awhile ago, and zipped it up. It includes 27 pics and a schematic.
"Exploring built-in wireless networking on PXA270-based Sharp Zaurus" (1.4mb)
-
thanks for that, i deleated my local copy by accident.
if anyone needs it i will put it on my site until asked to take it down
bluetooth'd (http://tac-net.homelinux.org/albertr/wireless.html)
[edit] fixed the link, had an extra E in it
-
Hi there,
i'd like to connect a very small bluetooth module to my C3100 to the I/O port on the back (very nice work albertr) .
After having some tests i will try to find a little space to put it inside.
I just edited this message because the serial I/O at the back is supported in cacko 1.23, so everything is fine now.
I made a mistake maesuring the serial lines on the I/O.
The rest is hardware stuff.
scholbert
-
thanks for that, i deleated my local copy by accident.
if anyone needs it i will put it on my site until asked to take it down
bluetooth'd (http://tac-net.homelinux.org/albertr/wireless.html)
[edit] fixed the link, had an extra E in it
[div align=\"right\"][a href=\"index.php?act=findpost&pid=136270\"][{POST_SNAPBACK}][/a][/div]
Da_Blitz ... your link got broken too ;-)
Anyway I've a USB HUB very much similar to the onbe you described
lsusb reports:
Bus 001 Device 005: ID 03eb:0902 Atmel Corp.
Is this the same as the one you were talking about ?
Mine seems to have trouble with USB-STORAGE devices (everything elese seems to work).
Is this some trouble just with mine or is your's afflicted by the same trouble ?
-
looking at lsusb (i have trouble making sense of it at the best of times even with -t) i can see that i have a diffrent manufacter. it could be the same with diffrent firmware
with USB storage was it selfpowered, perhaps it could not deal with power spikes well or didnt provide enough power
-
looking at lsusb (i have trouble making sense of it at the best of times even with -t) i can see that i have a diffrent manufacter. it could be the same with diffrent firmware
with USB storage was it selfpowered, perhaps it could not deal with power spikes well or didnt provide enough power
[div align=\"right\"][a href=\"index.php?act=findpost&pid=165663\"][{POST_SNAPBACK}][/a][/div]
I tryed bothe powering separetely the device and using low power devices (like usb mem sticks) that can power off the OTG anyway ... nither was was a success.
Did you complete the internal HUB in your Z ?
-
neer had a chance, connected 5v backwards and blew the power supploy.
i did manage to buy a c3100 but i havent done anything on it at all. its low on my list of priorities however i did dremel the case
as i stated earlier in this topic the hub i have is no bigger than a CF card so with some filingi managed to make it fit in the MD slot. however i would not do that again as it destroys the mechanical intregrity of the case along taht edge.
what i would do instead is take the CF blakning plate and use that as the frame for the SUB hub (no gaps and hold everything in place
i did manage to find room for a wifi card however i had to remove the SD slot PCB and dremel the MD retention plastic. with a bit of creativity and tape you could remove the plastic in its entirety however it seemed like a good idea to keep it
the last thin i did was dremel the pen well so that a wif antenna socket could be put there instead (dont use the touch screen much). basically you feed the cable down the tube then glue the socket at the end. when fitted it looked quite nice.
i might practice on the dead one and try and fix the power supply (i have plans for it as "the complete tagger") before ruining the finish on the c3100
-
I want to do 2 things ... one relatively soon and the other later on.
The first thing I'd do is to pickyback on the 5.7K Ohm OTG regulator a 2.2K Ohm or even a 1.2K Ohm. This would rase the OTG output current to equal or exeed standard usb current specifications thus allowing me to acheive the following:
keep the usb client capabilities,
drive my zd1211 directly from Z (without externally powered hub)
drive a small hub with bothe buetooth and zd1211 dongles plugged in without need external power,
drive a 2.5" usb HDU without the need of external power.
At a later stage I'd use the port1 datalines (along with a 5V power domain yet to be defined but separate from the OTG) to hook up the tiny hub I have with the zd1211 and bluetooth modules connected to it.
I'd do this later because of the following difficulties:
finding another safe 5V power domain,
the port1 are not functional with the default 2.6 kernel untill the port2 detectd that it's used as a host (you can see lsusb detects nothing if nothing is connected to the OTG ... while it detects whatever is connected to OTG + an empty port when the OTG is used as HOST {true at least on pdaxrom r198}),
having to modify kernel to reuse some free gpio pins to power controll power on the internally placed dongles.
I know that Albertr already has done part of the job .... but he completely removed the USB client capabilities.
I also looked closely at where the hub's standard USB plugs would come out of the case and I agree with you that the cases structural integrity would be compromised if one would cut holes for standard usb plugs. Actually I think that even 2 mini plugs wouls still have bad effects on structural integrity ... so I'd just be happy with the internal wireless.
-
I like the idea of raising the power but if you are going to power a drive can you PLEAS PLEAS reenforce the Z's power mechenism, i feel you might get resets otherwis with that type of loading
as for 2.6, did you load the ohci modules or the OTG ones as well, i have a feeling taht if you just load the host ones (ohci) then it should detect both, will give it a try tomorrow
its not that bad in terms of structual integrity, but if you dropped it you wolud regret it
anyone care to give me a reminder if angstrom is booting a kernel in /boot on the root fs? if it is i might compli e a kernel to give some things a go, if the second port isnt detected until OTG is activated then it might be a patch causing it
-
I like the idea of raising the power but if you are going to power a drive can you PLEAS PLEAS reenforce the Z's power mechenism, i feel you might get resets otherwis with that type of loading
Well I've a usb2 external 2.5" drive that gets powered just fine from a standard usb port (<=500mA) ... so should I not be ok as long as the mod can make the OTG deliver 500mA ?
I know that it will drain the batteries really fast .... but this is just for convenience when you do not want to hook up everything for just a few minutes HDU access.
Is there something else I should concider ?
Would I start blowing the internal SMD fuses ?
as for 2.6, did you load the ohci modules or the OTG ones as well, i have a feeling taht if you just load the host ones (ohci) then it should detect both, will give it a try tomorrow
What should the OTG modules be called ?
its not that bad in terms of structual integrity, but if you dropped it you wolud regret it
I've opened it up ... yea it will not fall appart on it's own but it might even not need to hit the floor to regret it.
anyone care to give me a reminder if angstrom is booting a kernel in /boot on the root fs? if it is i might compli e a kernel to give some things a go, if the second port isnt detected until OTG is activated then it might be a patch causing it
Cannot help much with Angstrom as I do not use it.
-
actually the reason i recommend a cap is so you dont blow a fuse, if you power the wifi card and the hard drive you will see some serious spikes (wifi is bursty in nature) so it will help protect your Z at the least (i mean are you too cheap to shell out the 20c for a capacitor)
will check the OTG module names latter
-
Yes a capacitor would have been a good idea ... too late right now because I've already made the mod and closed the Z again ... but I'll open it up again as it is a good idea even though the 500mA output I now have will be insufficient for bothe wifi and HDU.
Anyway the mod was successfull so far. I have not yet tested the external HDU directly (wait for the capacitor first) but the wifi dongle (which was the NO. 1 motivation for this mod) worked fine.
The TK3850 datasheet link is broken (and I google unseccessfully) so I'm not sure if there are constraints on the output capacitance ?
I'm assuming that anything below 470uF will be fine anyway: if I can get a small enough 200uF >=10V tantalium electrolitic that's what I'll use (otherwirse the largest capacitance that can fit).
-
pics?
sounds about right for the cap
so is the second port recigniseda ll the time? and wich wifi card were you using again. whats the battery life like
-
Pictures of what I did are on my home page ("ZElectronics" menu on the left and "OTG Power Boost" on the top) along with a description as to how to go about upening the C1K for those who fear this part (I know that's not for you Da_Bliz).
Exuce me but I cant figure out what you mena with this:
so is the second port recigniseda ll the time?
I was using a digicom branded zd1211 and battery life was much better then what I get with my linksys CF wifi. Well it's not difficult to get more then 45 minutes (that's what I get with the linksys). What I did notice is that initially the battery drops rather fast to about 40% ... then it levels out to go for over 2 hours (but I did not time it precisely ... I will next time).
-
mmm, too much caffine hence the spelling
i remember you stated that unless something was plugged into the OTG port the other port was invisible, i was wondering if you solved that issue or if you just hijacked the OTG port instead
2 hours gives me a rule of thumb, thats basically what i wanted. i was wondering what the power draw was like and was expecting worse than that
-
Well it looks like the usb modules are loaded only when something is plugged in (at least that's what happens with pdaxrom).
If I do an "lsmod" I see no usb modules at all nither the standard ohci-hcd nor the pxa27x_udc nor the usbcore when there is nothing plugged in.
If I just plug in the mini-a_2_a-socket the usbcore and ohci-hcd modules are loaded.
If nothing is in the OTG plug and I manually insert the usbcore and then the ohci_hcd I get errors when attempting to load the latter (maybe because the ID is free and hence it's in client mode).
Now the odd thing is that right now no matter what I doo I only seem to see just one usb bus. I'm trying to look back to where I posted that I could see bothe busses to examine if I was mistaken when I claimed that or if something has gone wrong since or whatever ... but I was unable to find the posting. I guess I might have been mistaken :-( {maybe I saw 2 devices and not 2 busses ... or maybe I looked when I had the external hub connected) ... I guess that with a little fiddling in the kernel sources one could see bothe for sure ;-) .
Concerning the power now:
well I've not measured exactly but I remember that before the mod the defice used to get turned onn and off. I expect this to mean that the dongle was drawing a little over the 200mA otg ... but not too much because it had the time to switch on.
I could make more accurate guesses if I timed precisely how much the battery lasts while using the wifi dongle.
Currently more then 2 hours is suggesting less then 450mA ... but that sounds like too much for the device bounces on OTG supply ... so I gues that if I timed precisely I'd get close to 3 hours.
I do not want to make mints of a cable ti make accurate reading with a tester ... but if I find scrap A plug and A socket I'll make a special cable for making accurate mesurements (which dew to the spiky nature of wifi dongle may be useless with my digital meter ... one would need analog meter to get a better feel of what the avarage current would be).
-
in this case i would take the battery capacity and divide it by run time, no need for a cable or anything else
i cant offer any advice about pdaxrom, havent used it for ages, howeer under angstrom it was always a simple case of loading ohci-hcd, perhaps if you can give us the tail of dmesg after loading the module so we can see why it wont insert itself
i hope you can see both busses but i guess you have it working now so it dosent warrent any more inspection (ie into the second connector)
-
Yea ... I've already approzimated the Z to absorb around 225mA (under light use like mp3 playback) 1800/8=225 (I can get around 8 hours mp3 playback).
Ooops I think I did som bad calculation .... this is some better calculation:
So lowering the duration to 2 hours 40 mins would mean that the 3 times more current is drawn ...
so 225 for Z and 450 to wifi ...
but as I asid befor 450 seems to much for the bouncing stuff before the mod ... so I would expect accurate timing to be over 3 hours.
I'm not to fussed about what's happening right now with 2.6.16 because I hope pdaxrom will soon have a 2.6.21 or above kernel.
Anyway looking at dmesg i see some pxa27x-ohci messages when I insert the usb dongle ... but pxa27x-ohci is not module ... maybe a little tweeging in the /sys tree might get it working anyway. It's not an issue for me right now but I'm attaching the dmesg anyway.
Ok I now have the step 1) done ... but step 2) is scheduled ... so even if the hub I intend to sacrifice for the step 2) cannot manage usb-storage I still like to have internal wireless (which works fine with that hub) ...
Step 2) is not scheduled in the near future because first I want to reach a satisfactory stability on my Z without sacrifising flexibility (that's why I stick with pdaxrom ... what the hel I've recently become a pdaxrom devel).
Here's what lsusb produces:
# lsusb
Unknown line at line 5924
Unknown line at line 5925
Unknown line at line 5926
Unknown line at line 5927
Unknown line at line 5928
Unknown line at line 5929
Unknown line at line 5930
Unknown line at line 5931
Unknown line at line 5932
Unknown line at line 5933
Unknown line at line 5934
Unknown line at line 5935
Bus 001 Device 002: ID 1131:1001 Integrated System Solution Corp. KY-BT100 Bluetooth Adapter
Bus 001 Device 001: ID 0000:0000
#
You can see that the bluetooth module is inserted (and I'm actually using it to ssh to Z and get the output to paste it here ... look at my bluetooth management helper script on my home page: blue (http://www.seicento.selfip.org/zaurus/downloads/blue) ... I've recently made the scanning feature more pawerfull then plain "hcitoo scan")
BTW: there is another things that makes estimation harder ... the 225mA I estimated is with LCD backlight off (mp3 playback with lid closed) ... while the wifi usb dongle measurements are made with the LCD on .... and the LCD power consumption is not negligable (the battery juice can vary upto, and maybe more then, 10% pretty much instantly between LCD on or off)
-
must say i am impressed, as of late i have been using bluetooth alot more and have the plans and design for a curses bassed front end simmilar to the wince wizard (widcomm stack, not the microsoft one) to make creating connection eiaser
the only reason i held off is because i found the pand auto discovery and connect setting so i dont have to bother with mac addresses
-
Yea .... I did not want to go into the SDP details so I made a script to do the MAC address handling ... I just get asked do you want to connect to 1, 2, 3 or n ?
the cript does the rest for me.
I know I'm a crocked guy and I prefer to spend much more time writing a stupid script than read documentation on a feature that would help me do the same thing .... but maybe when I started writing the thing (something like 4 years back) maybe bluez had not yed done anything about SDP ;-) ... or if it was there it was really poorly documented.
-
I am trying to return to the original topic of this looong thread: Adding a serial module to BTUART.
I am trying to exactly reproduce, what Sharp developers intended to do and owners of SL-6000L or SL-6000W could help.
Are there any success stories on it? And in particular - is there enough space (1.9mm needed) between PCB and hard drive on SL-C3xxx models (I guess it might be - connector is CF2, HDD seems to be CF1).
As far as I read all threads and photos, there is my summary of needed changes:
Part: resistor array 4x22J (e. g. koaspeer.com is CN1E4KTBK220J)
Function: PXA270 data line resistors
Position: below metallic cover of processor near ground shield (the only open resistor array position)
Status: Open on SL-Cxxxx, required to add
Part: unknown array 4x? (probably resistors, tens of kiloohms)
Function: Data line grounding
Position: Very near the internal CF slot connector (below HDD).
Status: Open on SL-Cxxxx, present on all SL-6000 models (even models without Bluetooth), probably good to add
Part: Mitsumi WML-C19NHN (no antenna)
Function: Bluetooth module
Position: Below HDD. 3 sides with 10 pins (one with gap in the middle) fourth side with 2 pins
Status: Required to add. Optionally possible to add module with an antenna, but on SL-6000 there might be a problem with one soldering point below antenna.
Part: Zero resistor
Function: Reset
Position: Unknown, maybe even does not exist
Status: Probably not needed
Part: Capacitor, unknown capacity
Function: Antenna circuit
Position: First ground connection near module antenna pins
Status: Probably not needed, open even on SL-6000W, but soldered on similar place of WLAN antenna circuit of SL-6000L
Part: Resistor, unknown value (guessing 0-70ohms)
Function: Antenna circuit
Position: First jumper connection near module antenna pins
Status: Required for module without antenna
Part: Open position for capacitor
Function: Antenna circuit
Position: Second ground connection near module antenna pins
Status: Open erven on SL-6000W
Part: Resistor, unknown value (guessing 0-70ohms)
Function: Antenna circuit
Position: Second jumper connection near module antenna pins
Status: Required for module without antenna
Part: Antenna, unknown type
Function: Antenna
Position: Nine large soldering pins below HDD near PCB edge
Status: Required for module without antenna
Can anybody help with identification of missing components values.
-
I found more parts, which has to be added:
It seems to be required to solder two step down circuits, each of them consists of one IC, three small resistors or capacitors and one bigger capacitor. One connected to BT module pins 2 should be 1.8V, second connected to pin 19 should e between 1.7 and 3.4V.
There is also one small resistor/capacitor at pin 21 (AIO[0]) and another on pin 4 (AIO[1]) - this one is connected with transistor, which switches Reset (pin 3).
Maybe SL-C6000x owner could help in detecting of these parts.
Please also take care on Blutooth module variants:
WML-C19[N=no antenna|A=with antenna][B=BCSP UART|H=H4 UART][N=no regulator|R=1.8V regulator integrated]
Note, that module WML-C19NHN (the one from SL-6000W) does not support deep sleep mode, so it is maybe implemented outside - most probably by turning step down circuits off.
It also means, that if you will use WML-C19NHR, you would be able to omit one step down circuit.
Also note, that WML-C19 modules are produced not only by Mitsumi, but also by Baracoda.
I still have no idea, why Sharp used WML-C19 (which integrates PIO and 13-bit audio convertor) and not simpler WML-C09 (which is pin incompatible).
-
Hi,
I'm, the guy who wrecked his 6000 trying to implant a bluetooth module (snapped a BGA ddram reassembling). Just one think to be very careful about is that the Mitsumi modules come with different pin pitches.
Here's my photo of the 6000's motherboard and the module I bought which turned out to be the wrong type.
http://www.zaurus.org.uk/images/6000_motherboard6.jpg (http://www.zaurus.org.uk/images/6000_motherboard6.jpg)
Somewhere I have a photo of the above with a ruler across it for scale, I'll see if I can find it.
The best I can do is this, which was the wrong module I was misled to buy.
[ You are not allowed to view attachments ]
I still have the module if anyone things they can use it.
-
I have a small update: SL-C3200 Hitachi HDD is CF2 size (5mm thick) so I doubt there will be enough space for any BT module using original pins. So the original PCB is exclusive: Either CF slot with HDD (SL-C3xxx) or Bluetooth (SL-C1000). One cannot have both there.
But you can still solder flat wires there and place BT module to another place. It means, that you can use any module which supports 3V data lines and UART mode. Nowadays you can buy much smaller modules than the original WML-C19NHR, which don't require external voltage regulator and reset.
Here's my photo of the 6000's motherboard and the module I bought which turned out to be the wrong type.
Your module is probably WML-C09AHR (AIR?). This is a module without sound processor and PIO and it is pin incompatible. But it can still be used wit a bit of wiring.
Youn have not only to carry about model name, but also letters after it:
A=embedded antenna
H (if it is really H)=H4 UART
R=regulator is included
You have need to wire at least these pins:
Four data pins.
Power.
Reset.
If you want to know exact wiring, I can send you data sheets with details.
But if you can look at your SL-6000, I would be glad, if you could help to detect following parts:
Small quad-resistor pack near module data pins.
And if you could trace or get high res photo of wires to following pins, it would be very nice:
Two changer modules to BT module pins 21 and 4. Each should consist from one small 5-pin IC, one a bit larger PCB capacitor and three small unknown parts. They should be located near to these pins, maybe on the opposite side of the PCB.
Also tracing of exact wiring of reset (one transistor and one unknown small part) would help. Note that at least the WML-C19 requires reset to work.
-
Here's the thread that Guylhem created about implanting bluetooth to turn a 6000L into a 6000W:
https://www.oesf.org/forums/index.php?showt...16&hl=bluetooth (https://www.oesf.org/forums/index.php?showtopic=15516&hl=bluetooth)
I forgot to mention that a little while ago someone was offering Ericsson ROKR bluetooth modules, which are wafer thin... I bought three before I knew of the WML modules, but put them to one side - they are "ROK 101 008/21" and maybe just a millimetre thick. I have the documents on them somewhere, I will dig it out.
-
Here's the thread that Guylhem created about implanting bluetooth to turn a 6000L into a 6000W:
Yes, exactly this image, your photos of SL-6000, photos from semi-dead iral.com (working only from some OS versions) and photos from www.piro.hopto.org (dead, but available from archive.org) were start point for my attempt to reconstruct original BT design intention.
But as I wrote above, it could be usable only for SL-C1000. In SL-C3x00, even 1mm might be impossible. There is a theoretical chance to replace CF II HDD by CF I flash to get additional 1.7mm of space, but I am not going to do it. I use swap a lot and the disc seems to be better here (on each byte written, flash memories needs to clear and re-flash about 64kiB of data.
-
hmm, so some ultra-fine wires and putting the bluetooth module elsewhere would be our only chance.
the alternative would be to not just replace the internal microdrive with a flash card, but replace it with, say, a stripped-down wifi card, fit the bluetooth module, and use the external CF slot instead for microdrive, and fit a 4GB sd card too. That way you'd have an ultimate-connectivity Zaurus but all the mass storage would be removable.
can the internal CF slot be used for I/O type devices, or is it limited to IDE/CF type?
-
Your module is probably WML-C09AHR (AIR?). This is a module without sound processor and PIO and it is pin incompatible. But it can still be used wit a bit of wiring.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=167189\"][{POST_SNAPBACK}][/a][/div]
yes, this is what I have. I guess I have two choices if I wish to fit it into my 6000 - either get the WML-C19 instead which can be simply dropped into place, or, use lots of flying leads. hmm.
since there's no room to drop the WML-C19 into a C3x00 because of the microdrive, then it'd be better to use the WMLC09 module for that instead.
would you like one of my WML-C09 modules? free to you, if you pay P&P, for your generous giving of time to the zaurus community. Then, if you get it to work on the C3x00, I would be able to repeat your work!
Paul
-
hmm, so some ultra-fine wires and putting the bluetooth module elsewhere would be our only chance.
the alternative would be to not just replace the internal microdrive with a flash card, but replace it with, say, a stripped-down wifi card, fit the bluetooth module, and use the external CF slot instead for microdrive, and fit a 4GB sd card too. That way you'd have an ultimate-connectivity Zaurus but all the mass storage would be removable.
can the internal CF slot be used for I/O type devices, or is it limited to IDE/CF type?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=167311\"][{POST_SNAPBACK}][/a][/div]
Wires don't need to be ultra fine. Being flat is enough. HDD protection foam bands make some space there.
I guess that both CF controllers are wired equally. But as you wrote, you need to strip down the WLAN card to fit in - I can't find any WLAN card without extender.
Using root on HDD in the external CF slot will disable it for using with other cool CF stuff, but it depends on personal preferences.
Using SD as a "modern floppy" is a good option. Using for system root has a speed constraint: Zaurus' SD is about 30% slower than CF slot (see my page for speed tests).
For other chances to connect WLAN see "Interfacing the Intel® PXA27x Processor Family to 802.11 Companion Chips" document. The critical parameter for hw mods would be the number of needed wires. Note that there might be enough empty space for the antenna under the cover right from the screen joint. I guess it is completely empty. (not verified yet)
-
would you like one of my WML-C09 modules? free to you, if you pay P&P, for your generous giving of time to the zaurus community. Then, if you get it to work on the C3x00, I would be able to repeat your work!
Well, I did not yet open my Zaurus and it is not yet high priority task for me. I am using BT USB dongle for USB and CF card for WLAN. It works but it's not comfortable and wiring everything inside looks like a good option for future. I was ready to spend more money to get such PDA, but no company makes anything more suitable for me than Zaurus SL-C3200.
Whenever I'll find enough courage to open my Zaurus and start with exact space measurements and soldering, I'll let you know. WML-C09 is one option, finding the smallest available nowadays is another one.
-
you are also welcome to one of my ROK 101 modules instead, these are quite well documented too. let me know when you pluck up the courage and get the time.
-
Hi there.
I yesterday fitted an internal USB bluetooth adapter into my Akita. Could not have been done without this forum and the work of AlbertR.
What maybe of interest: With Angstrom Distribution and kernel 2.6.22 there is no need for ANY modification of the system. You only need a userland utility to switch power off of the internal usb device when it is not needed.
Small info at http://tiandi42.dyndns.org:8800/akita-bt.html (http://tiandi42.dyndns.org:8800/akita-bt.html)
frank
-
excellent results, thanks for posting!
now I just need to wait for someone with a C3x00 to try to find space for an internal BT module and prove it possible, then I'll follow them!
-
excellent results, thanks for posting!
now I just need to wait for someone with a C3x00 to try to find space for an internal BT module and prove it possible, then I'll follow them!
This might make things easier: Princeton PTM-UBT3S
Conics have it: http://conics.net/catalog/product_info.php...f9d93d34bf3c25d (http://conics.net/catalog/product_info.php?products_id=218&osCsid=8d4f5239197357501f9d93d34bf3c25d)
-
This might make things easier: Princeton PTM-UBT3S
Conics have it: http://conics.net/catalog/product_info.php...f9d93d34bf3c25d (http://conics.net/catalog/product_info.php?products_id=218&osCsid=8d4f5239197357501f9d93d34bf3c25d)
GBP20 or US$40, not cheap but as you say, so small as to make life MUCH easier for implantation.
-
Small info at http://tiandi42.dyndns.org:8800/akita-bt.html (http://tiandi42.dyndns.org:8800/akita-bt.html)
frank
there still was an issue with power. I managed now to switch the gpio used to control power into input mode. This allows shutting off power for the internal usb device on suspend and I now use the regular 5V. No interference between usb port 1 (internal BT) and extenal usb devices. See above link for details.
frank.
-
I just got one Zydas based WLAN USB dongle (A-LINK WL54USB, variant with ZD1211B). Looking at the PCB details, it seems, that there is no use for 5V and the whole dongle is powered by 3.3V. What's a shame, this one uses linear voltage regulator (Ame A8805). It has two interesting consequences:
- It is probably possible to power the dongle from 3.3V.
- Powering from 3.3V will eat 33% less power.
-
So have you tried running it off of just the Z's USB power? I may be interested in getting one if it worked without an external hub.
Eagerly awaiting more details...
-
So have you tried running it off of just the Z's USB power? I may be interested in getting one if it worked without an external hub.
Yes, does not work. Vanilla 2.6.23 rejects to power it. After patching, 5V voltage sends pulses, as Zaurus regularly starts it and stops due to overcurrent. (note that albert provided a simple hwmod to get >500mA form Z).
I tried to connect 5V from the Z power adapter directly to the dongle 5V pins. Then it started to work. (It's usable only for testing - it probably initiates short circuit protection inside Z.)
I plan to desolder the voltage regulator and try to connect 3.3V directly from the IOPORT connector. (But for such things I have to buy my own dongle.)
-
So have you tried running it off of just the Z's USB power? I may be interested in getting one if it worked without an external hub.
Yes, does not work. Vanilla 2.6.23 rejects to power it. After patching, 5V voltage sends pulses, as Zaurus regularly starts it and stops due to overcurrent. (note that albert provided a simple hwmod to get >500mA form Z).
I tried to connect 5V from the Z power adapter directly to the dongle 5V pins. Then it started to work. (It's usable only for testing - it probably initiates short circuit protection inside Z.)
I plan to desolder the voltage regulator and try to connect 3.3V directly from the IOPORT connector. (But for such things I have to buy my own dongle.)
This is slightly off the present topic but would it be possible to add a couple of usb ports in the cf slot? If it is, then it would be possible to use the princeton PTM-UBT3S adapter which works in the Z without external power. One would, of course, lose the cf slot in the 3x00. On a 1000 it could be used internally where the HD would sit. I would like to do this on my 3100, what do you think. Thanks.
cycle_55
-
This is slightly off the present topic but would it be possible to add a couple of usb ports in the cf slot? If it is, then it would be possible to use the princeton PTM-UBT3S adapter which works in the Z without external power. One would, of course, lose the cf slot in the 3x00. On a 1000 it could be used internally where the HD would sit. I would like to do this on my 3100, what do you think. Thanks.
Probably all Bluetooth adapters work in Z without external power and probably no WLAN card can live with 150mA (actually, kernel gives 150mA, but overvoltage protection stops the current at about 180mA).
It may be easy to hack BT dongle and replace USB-A connector with USB-mini-A connector. But Princeton PTM-UBT3S may not be a good start point for hacking. It uses a trick to make it so small - the Bluetooth chip is located inside the USB connector in the place, where you can normally find the insulation plate. So it is a bit risky to disassembe it.
There are very few CF->USB cards, and I don't know, whether they work in Linux. It is very specialized and hard to find harware: AFAIK only SolarExpress® PDA II from Twin Paradox is in production. You can also find discontinued CFU1U from Ratoc Systems and discontinued Kernel concepts Systementwicklung Interpocket USB-Host CF Karte. All of them have the extender or special connector with "pigtail" cable.
Much simpler to buy is a CF->Bluetooth card. But AFAIK only one fits completely to the slot - pretty expensive Bluetooth CF Card from Socket Mobile, inc.
The fact, that my WLAN CF card has a large extension part makes me very uncomfortable when I am typing (it can even cause painfull bruise) and forced me to start thinking about another solution of connectivity.
And finally, Zaurus chipset (PXA270) has three USB hosts. One (OTG) is available in the external connector and remaining two are only inside the body.
-
Probably all Bluetooth adapters work in Z without external power and probably no WLAN card can live with 150mA (actually, kernel gives 150mA, but overvoltage protection stops the current at about 180mA).
It may be easy to hack BT dongle and replace USB-A connector with USB-mini-A connector. But Princeton PTM-UBT3S may not be a good start point for hacking. It uses a trick to make it so small - the Bluetooth chip is located inside the USB connector in the place, where you can normally find the insulation plate. So it is a bit risky to disassembe it.
There are very few CF->USB cards, and I don't know, whether they work in Linux. It is very specialized and hard to find harware: AFAIK only SolarExpress® PDA II from Twin Paradox is in production. You can also find discontinued CFU1U from Ratoc Systems and discontinued Kernel concepts Systementwicklung Interpocket USB-Host CF Karte. All of them have the extender or special connector with "pigtail" cable.
Much simpler to buy is a CF->Bluetooth card. But AFAIK only one fits completely to the slot - pretty expensive Bluetooth CF Card from Socket Mobile, inc.
The fact, that my WLAN CF card has a large extension part makes me very uncomfortable when I am typing (it can even cause painfull bruise) and forced me to start thinking about another solution of connectivity.
And finally, Zaurus chipset (PXA270) has three USB hosts. One (OTG) is available in the external connector and remaining two are only inside the body.
What I am thinking of doing is basically putting a two port usb hub inside the cf slot. The posts would be staggered so that the bluetooth and wifi adapters would just protrude a very minimum amount. Just enough so they can be removed. Just a recurring thought I've been having. Thanks.
cycle_55
-
there still was an issue with power.
And on the web: The only time the gpio 93 would go low was after shutting down the system AND going on battery. I had no time to figure out a solution
Hi there.
Intel® PXA27x Processor Family Design Guide mentions this problem. You have to program GPIO pin sleep behavior to fix it. It could be done in kernel or maybe using an utility called pxaregs. It's easy to fix and compile, but it supports only PXA255 (which does not have GPIO93), so it needs somebody, who will port it to PXA270.
-
If there is somebody still interested:
I guess I was able to identify nearly all open parts on the Akita board that were probably intended to be soldered to get Bluetooth working (see the photo). Note that all parts are are only my guesses, and I have no plans to test it (I don't have Akita). It's just for learning, how it was done by professionals.
I think that nobody want to use exactly these parts, but it may be an inspiration for modders.
Notes to parts:
Mitsumi WML-C19NHN: Board is ready for just this one variant. Modern modules can live without 1.8V power. With WML-C19NBN variant you need to change software, with WML-C19NHR variant you can omit 1.8V regulator, with WML-C19AHN you may omit antenna elements (however you would probably get a bit worse signal deeper in the case). There are more modern modules pin-compatible with this one, from both Mitsumi and thirs parties.
Seiko S-T111B33MC and S-T111B18MC: Board is ready for T111B variant of low drop linear regulators.
TDK CABPB0730A: A ceramic patch antenna. CABPB0715A would fit as well.
Double T-member between module and antenna: However antenna data sheets talk about customization of parts there, most hardware vendors stay at 0R in signal path and with open positions in grounding elements (or 3.9pF in the position nearest to the module).
unidentified part: It seems that module had problems with reset. The part may be a diode or Zener diode lowering voltage during non-reset conditions.
Considerations:
For low power 3.3V devices it's better to convert the voltage from AC/battery to 3.3V (or even low power 1.8V) with a low drop linear regulator. Linear regulator efficiency is about 3.3V/battery_voltage (and efficiency while running on AC is less critical), switching step-down may have about 80% at 3.3V and 60mA.
If I did not oversee something, Sharp did not use any RF-kill switch (extra GPIO). (It needs to be checked. If it is true Vin pin of regulators is wired directly with with the main AC/battery power.
There may be problems with reset. Note that moderm modules don't need reset to start properly. But you may still need reset after sending a bad command. Battery removal is not comfortable.
-
If there is somebody still interested:
I guess I was able to identify nearly all open parts on the Akita board
...snip...
Hi UTX,
thanks very much for that useful posting. Yes, I am still interested, and so are others. In fact, as our Zauruses get older and less valuable, many of us might be more willing to take out the soldering iron and consider having a hack at them
cheers
Paul
-
In fact, as our Zauruses get older and less valuable, many of us might be more willing to take out the soldering iron and consider having a hack at them
Well, before trying to hack your Akita with the above:
- Verify, that Vin pins of regulators are really connected to VAC/Batt (un-stabilized voltage from battery or AC adapter (what gives more)).
- Verify, that reset is really wired (optional).
- The module is really ancient and probably out of production. Use of a modern pin compatible Bluetooth 2.1+EDR module shoud be possible. Newer modules don't need 1.8V and can work with auto reset. Not only Mitsumi produces pin compatible modules. At least Roving Networks do them as well.
- Depending on module version, you may consult the datasheet and check method of switching between modes and protocols (on the old Mitsumi it was provided probably by the two resistor to AIO pins). You need to activate UART modes, either ther H4 or BCSP. Sharp used H4, but if you don't plan to depend on Sharp software, BCSP may be a better option, as it allows deeper sleep modes (thanks to protocol for resending bits lost while sleeping). With BCSP you can also optionally repurpose two of four GPIO pins.
- Regulators mentioned above are not available in small quantities. You have to find any similar pin compatible IC. It must be a low-drop regulator. Cheap regulator need input 3V higher than input. Low drop regulators can work with 0.05V difference.
- Mentioned antenna is probably hard to get as well.
And this is valid in general:
- Buy only modules with HCI firmware. Modules with SPP firmware are ofter cheaper, but useful only as a wireless serial port. Without signing a NDA with CSR, you have only small chance to change the firmware. For the same reason, prefer cheaper ROM version of modules, because you will probably not be able to change firmware anyway.
- Consult datasheets and verify, that my guesses are correct!
- While ordering a part, check also letters after the IC number. They may mean incompatible variant or different firmware.
I have Terrier and this space is occupied by HDD, so I will not try it for sure, but I am trying to learn and finally design a small daughter board. (Now I am learning to work with gEDA.)