Key Info on bricked Artemis/Orbit - P3300, MDA Compact III upgrading etc.
Got an XDA orbit two days back and it won't boot. Once when booted, it got stuck in the splash screen saying O2 and showed the protocols:
IPL:1.25.001
SPL:1.25.000
GSM:2.67.90
OS:1.25.00
Click to expand...
Click to collapse
It didn't go past this screen and a 4-sec press on power button switched it off. Any number of soft resets wouldn't solve the issue and there was this peculiar problem of the screen going dull and then fully dark, but u can see that the device is not off coz the screen is letting out a dull glow. Resetting switched off the phone.
Thinking it might be a battery issue, plugged in the USB power, but then there was no indication that it was charging. After sometime tried switching on and the unit was dead. Pulled out the battery and reinserted after
arnd 10 mins and did a hard reset. (Pulling battery out and reinserting was done so many times that I'd from now on refer to it as BOutReIn-10min;10min being the time it stayed out)Booted after the hard reset and it
started showing charge indication-orange, green n all.Then after setting the preferences, worked for abt 2 mins and the same problem of screen going dull and black gradually. Soft resets, hard resets, trying bootloader mode - nothing works. Just a brick with a nice thumbdial and trackball.DEAD.
Downloaded the Original O2 Uk ROM Image ARTEIMG.nbh
BOutReIn-30min and tried flashing the ROM from PC.75% and the same
dimming of the screen, but in another pattern of going up from the bottom.
BOutReIn-5min and tried flashing from SD card.
After the "Reading from Sd card" message, while installing first OS, it showed same problem.
Finding that the timing of the problem is connected to the time the battery is out (or the time the unit is not being used), BOutReIn-6hrs and tried SD card flashing which went successful, but when the unit reset after the process, it got stuck in bootloader.Oh Oh! More problematic? Donno..Another reset, still BL.One more, still in BL, but the the screen went dull after 2-3 secs. It hasn't come out of the BL since then.
Possible reasons
1.Corrupt OS(most probable)
2.corrupt bootloader(less probable, but not impossible.the fact that it shows bootloader means it is intact,i think)
3.Mainboard problem(least probable, but seeing the way things go, i had started to suspect this, especially coz of the screen dimming)
Click to expand...
Click to collapse
Gotta be something inside which gets heated up or cuts out. So opened it up and cleaned the whole interior and this guide, alongwith commonsense, came handy.
Then i found a small button cell soldered to the board. The presence of this really caught my attention coz i have had bad experiences with such things in older mobile phones and GPS units. My eTrex Vista went bad after some days of non-use and I found a leaking internal rechargeable cell just like this(3.3v), soldered to the board and it served the purpose of powering the memory where the system settings are saved. That GPS unit didn't come with a flash memory; tho Garmin learnt it fast and switched to Flashroms. Actually the only way of saving such things in GPS units is keeping operational batteries in the unit always and checking them frequently.
A quick check gave the cell voltage as 0.65v which is too low for such chemistry. Then connected the USB charger to the board and measured at the terminals and it was the same. it showed that it is not getting any
supply. Also, there was slight corrosion on the button cell body, which indicated that it might start leaking anytime, if not already. Cleaned up the body, brushed the whole area clean of any impurities and recharged it
using 2 duracells connected to the +/_ terminals and the voltage climbed to 1.7v. Kept it like that for sometime and checked the voltage once more, which showed 1.5v. This showed rapid voltage falling and that is not good news. The battery surely is on its last leg.
Not wanting to give up, and to test really whether the cell contributes to the system settings (otherwise, what is it there for?), connected everything rt back and did an SD card flashing which was successful and the unit booted after reset and started charging and everything was going smooth. Showed splash screen and when it was about to get into the customization phase, the screen began to dim.....
Sad, but I think that's at least some point to start. The board is having problems and that's why it doesn't charge the internal cell and the Artemis worked while the cell still had charge. When kept on working, the internal cell has discharged enough and more and that can be the beginning of so many problems which show up in bricked units (mostly Artemis).
No power
No charging
Stuck on bootloader
unit hanging when using
Now I don't think I can service the board successfully myself.Even professional servicing would be very costly. An alternative would be to replace the board.
Now i would like to know if such an internal rechargeable cell is there in other HTC devices. If so, then it is the culprit. If this is there in only Artemis-based PDAs having GPS, then it may or may not be the problem as it might be there just for the GPS, just like in older Garmins. Also, if that is the case, new GPS PDAs won't be having that cell too, after learning from such a mistake.
Let the discussion begin!!!
Hi-Res pics are here:
Internal Rechargeable cell
Close-up of the cell
Artemis Bootloader Commands
While researching on the problem and its possible solutions, I stumbled upon this information on a Trinity discussion board. This is very valuable information (read last resort) to those out there like me whose Orbits are not stable/dead. (No pun intended )Giving due credit to its author, fdp24, I am posting it here.
The actual thread is here.
fdp24 said:
rbmc is not in spl in Artemis device. On Trinity probably too.
These are some commands for Artemis:
Could be similarity for Trinity
CASE SENSITIVE!
Cmd>fm
Wrong parameters of FM Command!!
Usage:
fm [command] [frequency]
where:
if[command] = i Initialize FM.
if[command] = o Power on FM.
if[command] = f Power off FM.
if[command] = t Tune FM channel to [frequency].
if[command] = a FM auto seek test.
if[command] = m Mono(1) or Stereo(0).
if[command] = v Volume (0x00 - 0x0F).
if[command] = u Mute(0)
if[command] = g AGC(1)
if[command] = h Set seek threshold (0x00 - 0xFF).
if[command] = s Seek Up(1) or Down(0).
if[command] = r Get RSSI (0x00 - 0xFF).
if[command] = c Get current channel [frequency].
if[command] = d Get RDS data (1 - 10 groups of data).
************************************************** ************************************************** *
Cmd>cpldver
xsvfExecute - CpldType=1
SUCCESS - Completed XSVF execution.
CPLD Ver[0]=1
CPLD Ver[1]=FC
CPLD Ver[2]=26
CPLD Ver[3]=5
SetDsbDBGMSGT
Unknown yet.
************************************************** ************************************************** *
Cmd>ReadExtROM
Dump Ext ROM to MTTY terminal
************************************************** ************************************************** *
Cmd>WLANReset
Usage:
WLANReset 1(or0)
set SDIO: 0-WLAN ;1-SDMC.
Cmd>WLANReset 0
WLANReset(FALSE)
Cmd>WLANReset 1
WLANReset(TRUE)
************************************************** ************************************************** *
Cmd>SDSelect
Usage:
SDSelect 1(or0)
set SDIO: 0-WLAN ;1-SDMC.
Cmd>SDSelect 1
Select SD Card
************************************************** ************************************************** *
Cmd>emapiWlanMac
Notice: This MAC address takes effect only when your platform is EEPRON-less configuration. Please use (emapiTest) to verify it !
Copying GSM DATA image to SDRAM:00004000
Wlan data header ++++++++++++++++++++
Signature : 0xEE1250
UpdateStatus : 0x2
UpdateCount : 0xA
BodyLength : 0x1A1
BodyCRC : 0x4349311B
Wlan data header --------------------------
0x00000000
0x00000009
0x0000002D
0x000000D2
0x000000D5
0x000000FB
************************************************** ************************************************** *
Cmd>emapiTest
+emapiTest
1. Power on WLAN
2. Reset WLAN
3. Switch MUX to WLAN
4. Enable WLAN clock
5. Init WLAN SDIO interface
6. DeviceID Test
DeviceID = 4030xxx
EEPROMless configuration!
-emapiTest
************************************************** ************************************************** *
Cmd>emapiPwrDwn
************************************************** ************************************************** *
Cmd>emapiRead
Parameter Wrong!!
************************************************** ************************************************** *
Cmd>getdevinfo
Need password!
************************************************** ************************************************** *
Cmd>wdata
Usage:
wdata [StartAddr Len]
Write data to memory(if write to ROM, need erase first).
StartAddr : Start address of memory.
Len : How many bytes will be written.
Length must not more than 0x10000 bytes(buffer limitation).
Write to RAM: 4 bytes(CRC checksum limitation).
1 byte(in user mode).
Write to ROM: 4 bytes(CRC checksum limitation).
2(16-bit)/4(32-bit) bytes(in user mode).
Write to ROM(16-bit data bus): 32 bytes(writebuffer mode).
Write to ROM(32-bit data bus): 64 bytes(writebuffer mode).
Length must be 4 bytes boundary(CRC checksum) if not in user mode.
After command execute, then send out the data to terminal.
Data format: HTCS(4 bytes)+DATA+checksum(4 bytes, if not in user mode)+HTCE(4 bytes).
************************************************** ************************************************** *
Cmd>password
Usage:
password [String]
Enter the password string to enable wdata, erase and rbmc functions.
************************************************** ************************************************** *
Cmd>set
Usage:
set [Type Value]
Set control flags.
Type(hex) : Control function types.
Value(hex) : Setting values for types.
Type 1(Operation mode): 1(auto) and 0(user).
Type 2(Back color on/off): 1(on) and 0(off).
Type 4(Front color value): 16 bits data
Type 5(Background color value): 16 bits data
Type 6(Set color of screen): Fill color to whole screen one time.
Current flag settings:
Type 1(Operation mode flag): g_cOpModeFlag=(0x0).
Type 2(Back color flag): cBackColorShowFlag=(0x0).
Type 4(Front color): g_dwFColor24bit=(0x0).
Type 5(Background color): g_dwBColor24bit=(0xFFFFFF).
Type 6(Set color of screen): None.
Type 32: Unlock Flash Command
Set control flags.
************************************************** ************************************************** *
Cmd>SetDebugMethod
Copying GSM DATA image to SDRAM:00004000
Default DebugTransport Value =00000000
Current Usage:
0 No Debug
A UART MTTY Output Debug Message
B USB MTTY Output Debug Message
************************************************** ************************************************** *
Cmd>checksum
Usage:
checksum addr len
Return CRC checksum of memory.
In user mode: Show 4 bytes of CRC checksum value on display of terminal.
In auto mode: Send 4 bytes of CRC checksum value to terminal with data format.
************************************************** ************************************************** *
Cmd>ResetDevice
no comments
************************************************** ************************************************** *
**When CID is locked.
Cmd>ls
clean up the image temp buffer at 0x8C100000 Length 0x03A00000
BOOTLOAD_PAGE_TABLE_BASE_C_VIRTUAL= 0x8C080000
Clear image temp buffer done .
MTTYDownloadImage
Not allow operation!
Error : DownloadImage return error (code = 0xFFFFFFFF)
**When CID is locked.
************************************************** ************************************************** *
**When CID unlocked
Cmd>ls
clean up the image temp buffer at 0x8C100000 Length 0x03A00000
BOOTLOAD_PAGE_TABLE_BASE_C_VIRTUAL= 0x8C080000
Clear image temp buffer done .
MTTYDownloadImage
start download
==CreateFile err==
**When CID unlocked
************************************************** ************************************************** *
Cmd>GPSRouting
Dump code to mtty console.
************************************************** ************************************************** *
Cmd>BTRouting
Dump code to mtty console.
************************************************** ************************************************** *
Cmd>BTRouting
+GSM_Modem_Init : include DAGON
Copying GSM DATA image to SDRAM:00004000
GSM - dwSize = 3479D
GSM Page0
GSM - dwSize = 45457
GSM Page1
GSM - dwSize = 4B768
GSM Page2
GSM - dwSize = 4E0A9
GSM Page3
GSM - dwSize = 4B4C4
GSM Page4
GSM - dwSize = 4C71F
GSM Page5
GSM - dwSize = 2958E
GSM Page6
GSM - dwSize = E8D8
GSM Page7
Copying GSM CODE image to SDRAM:00000000
ARMBOOT = 1 --> boot from CS3
Reset ARM 7 -- ok
Please close MTTY USB connection and open BT Testing program...
************************************************** ************************************************** *
************************************************** ************************************************** *
************************************************** ************************************************** *
************************************************** ************************************************** *
************************************************** ************************************************** *
************************************************** ************************************************** *
password BsaD5SeoA - this is static password used during flashing device. (USB sniffer)
battery seems to be charging during bootloader.
If you stuck at bootloader during manipulations with commands, try this:
password BsaD5SeoA
ruurun 0
Alternatively, you can run rom flasher even on CID locked device. It will give you error message about Device ID or something, but your device will be back to normal and boot normally.
Click to expand...
Click to collapse
SOLVED!!!
The Orbit unit is up and running now....!!!!!WOOOOOOOOOOHOOOOOOOOOO!!!
I'll post what all i did to get it up.
now i really think the internal rechargeable cell is the culprit.
But for now, I'm one happy person, even if the Orbit in question is not mine.
GSM-working
GPS-working
Bluetooth-working
IR-working
USB charging
camera-working
sd card-working
fm radio-working
mouse ball and thumbwheel-working
Wifi-not turning on(need to investigate on this)
htc 3300 error 300
no waaaaawwwwooooooooooooo iii
htc p3300 briked with error 300 help help:mad
hellllllllllllllllllllllllllllllllllllps boys pof pof
newwws newwws
what happend this forum can be help us my artelis blocked error 300 in
all rom
Related
Some console commands for P3300.
Below are some commands for Artemis. For the moment still did not find a command to backup existing ROM. There are some interesting ones related to debug and use of TFTP. Commands are case sensitive. Looks like battery is charging while in bootloader mode. It was not a case with Prophet. regards, fdp24 ******************************************* Cmd>fm Wrong parameters of FM Command!! Usage: fm [command] [frequency] where: if[command] = i Initialize FM. if[command] = o Power on FM. if[command] = f Power off FM. if[command] = t Tune FM channel to [frequency]. if[command] = a FM auto seek test. if[command] = m Mono(1) or Stereo(0). if[command] = v Volume (0x00 - 0x0F). if[command] = u Mute(0) if[command] = g AGC(1) if[command] = h Set seek threshold (0x00 - 0xFF). if[command] = s Seek Up(1) or Down(0). if[command] = r Get RSSI (0x00 - 0xFF). if[command] = c Get current channel [frequency]. if[command] = d Get RDS data (1 - 10 groups of data). ******************************************* Cmd>cpldver xsvfExecute - CpldType=1 SUCCESS - Completed XSVF execution. CPLD Ver[0]=1 CPLD Ver[1]=FC CPLD Ver[2]=26 CPLD Ver[3]=5 Unknown yet. ******************************************* Cmd>SetDsbDBGMSGT Unknown yet. ******************************************* Cmd>ReadExtROM Dump Ext ROM to MTTY terminal ******************************************* Cmd>WLANReset Usage: WLANReset 1(or0) set SDIO: 0-WLAN ;1-SDMC. Cmd>WLANReset 0 WLANReset(FALSE) Cmd>WLANReset 1 WLANReset(TRUE) ******************************************* Cmd>SDSelect Usage: SDSelect 1(or0) set SDIO: 0-WLAN ;1-SDMC. Cmd>SDSelect 1 Select SD Card ******************************************* Cmd>emapiWlanMac Notice: This MAC address takes effect only when your platform is EEPRON-less configuration. Please use (emapiTest) to verify it ! Copying GSM DATA image to SDRAM:00004000 Wlan data header ++++++++++++++++++++ Signature : 0xEE1250 UpdateStatus : 0x2 UpdateCount : 0xA BodyLength : 0x1A1 BodyCRC : 0x4349311B Wlan data header -------------------------- 0x00000000 0x00000009 0x0000002D 0x000000D2 0x000000D5 0x000000FB ******************************************* Cmd>emapiTest +emapiTest 1. Power on WLAN 2. Reset WLAN 3. Switch MUX to WLAN 4. Enable WLAN clock 5. Init WLAN SDIO interface 6. DeviceID Test DeviceID = 403xxxx EEPROMless configuration! -emapiTest ******************************************* Cmd>emapiPwrDwn ******************************************* Cmd>emapiRead Parameter Wrong!! ******************************************* Cmd>getdevinfo Need password! ******************************************* Cmd>wdata Usage: wdata [StartAddr Len] Write data to memory(if write to ROM, need erase first). StartAddr : Start address of memory. Len : How many bytes will be written. Length must not more than 0x10000 bytes(buffer limitation). Write to RAM: 4 bytes(CRC checksum limitation). 1 byte(in user mode). Write to ROM: 4 bytes(CRC checksum limitation). 2(16-bit)/4(32-bit) bytes(in user mode). Write to ROM(16-bit data bus): 32 bytes(writebuffer mode). Write to ROM(32-bit data bus): 64 bytes(writebuffer mode). Length must be 4 bytes boundary(CRC checksum) if not in user mode. After command execute, then send out the data to terminal. Data format: HTCS(4 bytes)+DATA+checksum(4 bytes, if not in user mode)+HTCE(4 bytes). ******************************************* Cmd>password Usage: password [String] Enter the password string to enable wdata, erase and rbmc functions. ******************************************* Cmd>set Usage: set [Type Value] Set control flags. Type(hex) : Control function types. Value(hex) : Setting values for types. Type 1(Operation mode): 1(auto) and 0(user). Type 2(Back color on/off): 1(on) and 0(off). Type 4(Front color value): 16 bits data Type 5(Background color value): 16 bits data Type 6(Set color of screen): Fill color to whole screen one time. Current flag settings: Type 1(Operation mode flag): g_cOpModeFlag=(0x0). Type 2(Back color flag): cBackColorShowFlag=(0x0). Type 4(Front color): g_dwFColor24bit=(0x0). Type 5(Background color): g_dwBColor24bit=(0xFFFFFF). Type 6(Set color of screen): None. Type 32: Unlock Flash Command Set control flags. ******************************************* Cmd>SetDebugMethod Copying GSM DATA image to SDRAM:00004000 Default DebugTransport Value =00000000 Current Usage: 0 No Debug A UART MTTY Output Debug Message B USB MTTY Output Debug Message ******************************************* Cmd>checksum Usage: checksum addr len Return CRC checksum of memory. In user mode: Show 4 bytes of CRC checksum value on display of terminal. In auto mode: Send 4 bytes of CRC checksum value to terminal with data format. ******************************************* Cmd>ResetDevice no comments ******************************************* **When CID is locked. Cmd>ls clean up the image temp buffer at 0x8C100000 Length 0x03A00000 BOOTLOAD_PAGE_TABLE_BASE_C_VIRTUAL= 0x8C080000 Clear image temp buffer done . MTTYDownloadImage Not allow operation! Error : DownloadImage return error (code = 0xFFFFFFFF) **When CID is locked. ******************************************* **When CID unlocked Cmd>ls clean up the image temp buffer at 0x8C100000 Length 0x03A00000 BOOTLOAD_PAGE_TABLE_BASE_C_VIRTUAL= 0x8C080000 Clear image temp buffer done . MTTYDownloadImage start download ==CreateFile err== **When CID unlocked ******************************************* Cmd>GPSRouting Dump code to mtty console. ******************************************* Cmd>BTRouting Dump code to mtty console. ******************************************* Cmd>BTRouting +GSM_Modem_Init : include DAGON Copying GSM DATA image to SDRAM:00004000 GSM - dwSize = 3479D GSM Page0 GSM - dwSize = 45457 GSM Page1 GSM - dwSize = 4B768 GSM Page2 GSM - dwSize = 4E0A9 GSM Page3 GSM - dwSize = 4B4C4 GSM Page4 GSM - dwSize = 4C71F GSM Page5 GSM - dwSize = 2958E GSM Page6 GSM - dwSize = E8D8 GSM Page7 Copying GSM CODE image to SDRAM:00000000 ARMBOOT = 1 --> boot from CS3 Reset ARM 7 -- ok Please close MTTY USB connection and open BT Testing program... *******************************************
Wow.. Very VERY nice!
Wow fdp24 Please how did you found out all those comands ? I'm curious and in the need of unbricking some.
can we use any of therse comands to make the SimLockTool_Artemis_Excalibur tool work
Any way to access register device from bootloader?
Hi. This is a message to experts. Loiking at bootloader in my broken ELFIN, well lets better say death, because even with GOLD CARD couldnt get alive, i found a commnad called wdata. This this the screen result: ========================================================== Cmd>wdata Usage: wdata [StartAddr Len] Write data to memory(if write to ROM, need erase first). StartAddr : Start address of memory. Len : How many bytes will be written. Length must not more than 0x10000 bytes(buffer limitation). Write to RAM: 4 bytes(CRC checksum limitation). 1 byte(in user mode). Write to ROM: 4 bytes(CRC checksum limitation). 2(16-bit)/4(32-bit) bytes(in user mode). Write to ROM(16-bit data bus): 32 bytes(writebuffer mode). Write to ROM(32-bit data bus): 64 bytes(writebuffer mode). Length must be 4 bytes boundary(CRC checksum) if not in user mode. After command execute, then send out the data to terminal. Data format: HTCS(4 bytes)+DATA+checksum(4 bytes, if not in user mode)+HTCE(4 bytes). ========================================================== So the question is. Is there any way of using that command to access the F****** g_cKeyCardSecurityLevel = FF register and modify it?. Anyone knows whats the memory position of that register?, if so, How can i change it? Hopping anwsers. Thanks
[Q] touch screen not responding only when sd card is present
Hi all, I have a problem with my defy, whitout fall or update the touch screen stop responding. After some resets & sbf flashing I've noticed that the touch screen is ok only when there is no sdcard. I've tried over sdcards with no more success. The sdcard is readable, I can access with adb. Clockworkmod access the sdcard too. With sdcard dmesg : qtouch_force_reset: Forcing HW reset Unable to get gpio pin num for touch_pwr_enq touch_write: Error while trying to write 2 bytes qtouch_set_addr: Can't send obp addr 0x 0 qtouch_process_info_block: Cannot read info object block qtouch_ts_probe:Cannot read info block -121, checking for bootloader mode. Without sdcard : qtouch_force_reset: Forcing HW reset Unable to get gpio pin num for touch_pwr_en qtouch_process_info_block: Build version is 0x10 qtouch_process_info_block: Object 5 @ 0x00f2 (9) insts 1 rep_ids 0 qtouch_process_info_block: Object 6 @ 0x00fb (6) insts 1 rep_ids 1 qtouch_process_info_block: Object 38 @ 0x0101 (8) insts 1 rep_ids 0 (...) Can it be a HW problem ? What do you think I can do ?
Questions go in the Q&A section
CharlyBrok said: Hi all, I have a problem with my defy, whitout fall or update the touch screen stop responding. After some resets & sbf flashing I've noticed that the touch screen is ok only when there is no sdcard. I've tried over sdcards with no more success. The sdcard is readable, I can access with adb. Clockworkmod access the sdcard too. With sdcard dmesg : qtouch_force_reset: Forcing HW reset Unable to get gpio pin num for touch_pwr_enq touch_write: Error while trying to write 2 bytes qtouch_set_addr: Can't send obp addr 0x 0 qtouch_process_info_block: Cannot read info object block qtouch_ts_probe:Cannot read info block -121, checking for bootloader mode. Without sdcard : qtouch_force_reset: Forcing HW reset Unable to get gpio pin num for touch_pwr_en qtouch_process_info_block: Build version is 0x10 qtouch_process_info_block: Object 5 @ 0x00f2 (9) insts 1 rep_ids 0 qtouch_process_info_block: Object 6 @ 0x00fb (6) insts 1 rep_ids 1 qtouch_process_info_block: Object 38 @ 0x0101 (8) insts 1 rep_ids 0 (...) Can it be a HW problem ? What do you think I can do ? Click to expand... Click to collapse AFAIK, it is HW related.. Best choice, get it to the SC..
Maybe I'll try to change the digitizer (20€ on ebay). Warranty period is finish.
I want more log, The goal is to enable logging debug in qtouch_obp_ts I put in /system/etc/init.d/77debug Echo 0xFF > /sys/module/qtouch_obp_ts/parameters/tsdebug But no change at all... What I am doing wrong ? Envoyé depuis mon A500 avec Tapatalk
[GUIDE] USB Uart on Galaxy S devices [2012/09/25]
== General Info == Hello, and welcome to my usb uart guide - aka, how to totally f' your phone up, if you don't think first! Really though, read everything before attempting anything! USB Uart is not new news. There are many great people whom have come before me to make what I am documenting here possible. But I am putting this here because I keep getting PM'd about getting help with USB Uart, and figured it would be good to start a thread that documents what you need and how to get going. So up front, I need to list some credits. I gained a lot of knowledge from these people: TheBeano - Fun with resistors (home/car dock mode + more) UberPenguin - Galaxy S UART JIG & Debugging Connector AdamOutler - UART Output / Bootloader Hacking / Kernel Debuging E:V:A - The Samsung Anyway Jig I'm sure there is more... let me know if you think you need to be in this list. I'll be happy to update it! == WARNING == I am not responsible for anything you do to your device! If you follow my guide and it results from anything like your phone not working or ending the world, I cannot be held accountable for what you do! This guide will show you how to use the usb uart on most galaxy s phones (with the FSA9480 USB port accessory detector and switch) It helps to have Unbrickable Mod. There are some commands you can run from the SBL that will wipe your bootloaders! You must be VERY CAREFUL! == Requirements == First off, you will need some hardware to connect to your computer. It helps. Below is a list of things I use and they are common and cheap. The links to the items below are what I have. Its what works for me. mini-usb cable - http://www.sparkfun.com/products/598 bus pirate or arduino (I only cover bus pirate here... for now.) - http://www.seeedstudio.com/depot/bus-pirate-v3-assembled-p-609.html?cPath=174 In my guide i use the bus pirate probe kit - http://www.seeedstudio.com/depot/bus-pirate-probe-kit-p-526.html?cPath=178_180 I used a tape printer to label the test clips. breadboard (optional, if you rather just solder the resistor to the micro-usb break-out board. more later...) - http://www.sparkfun.com/products/112 USB MicroB Plug Breakout Board - http://www.sparkfun.com/products/10031 some jumper wire - http://www.sparkfun.com/products/124 150k, 523k, 619k resistor (ymmv. AdamOutler and others told me to try 523k or 619k, but I was able to get all the output I need with 150k) guts - priceless Also, I use minicom on Linux and Mac OS X (use homebrew to install minicom), but you should be able to use any serial console program you like (i.e. kermit, cu, etc...) I highly suggest getting to know your bus pirate, but this guide assumes you have read manuals and updated firmware. Any of the other uart modes should also work this way, but I currently don't cover that here... yet. == Getting Started == When we connect to the usb port on the bus pirate(bp), you can find the version info by typing i at the high impedance mode (HiZ>) prompt. Change to this mode when your modifying connections or cable argments. Code: HiZ>i Bus Pirate v3b Firmware v6.0 r1625 Bootloader v4.4 DEVID:0x0447 REVID:0x3043 (24FJ64GA002 B5) http://dangerousprototypes.com Disconnect the bp and lets connect everything from the micro usb port connecting to your phone backwards to the bp. I use a breadboard for things that I might work on later or things I'll re-arrange a lot. You may also decide to solder the resistor directly to the GND/ID pins, but you will need a little lead on the GND. Connect MOSI to D+ and MISO to D-. Another warning! You can also fry the ftdi on the bus pirate, if you mess with the connections while the bus pirate is in any mode besides HiZ (Hi Impedance) or unplugged. Usually, I'm in uart bridge mode, so you can't go back to HiZ. You just have to unplug the usb cable. { "lightbox_close": "Close", "lightbox_next": "Next", "lightbox_previous": "Previous", "lightbox_error": "The requested content cannot be loaded. Please try again later.", "lightbox_start_slideshow": "Start slideshow", "lightbox_stop_slideshow": "Stop slideshow", "lightbox_full_screen": "Full screen", "lightbox_thumbnails": "Thumbnails", "lightbox_download": "Download", "lightbox_share": "Share", "lightbox_zoom": "Zoom", "lightbox_new_window": "New window", "lightbox_toggle_sidebar": "Toggle sidebar" } Solder some jumper wire to the micro usb breakout board. I use about an inch. I usually start at a1 on the breadboard with vcc and a4 and a5 for ID and GND (respectively). In these images, I'm at the opposite end of the board to make it easier to have the phone next to and above my mouse so it is easy for me to work with the phone. Put the resistor on b4 and b5 - which is where I connect GND on the bp. Now that you have the bp connected to the circut, lets move forward and plug in the micro usb cable into the bp and then into your computer. To change into UART mode on the buspirate, type 'm' at the HiZ> prompt: Code: HiZ>m 1. HiZ 2. 1-WIRE 3. UART 4. I2C 5. SPI 6. 2WIRE 7. 3WIRE 8. LCD x. exit(without change) (1)>3 Set serial port speed: (bps) 1. 300 2. 1200 3. 2400 4. 4800 5. 9600 6. 19200 7. 38400 8. 57600 9. 115200 10. BRG raw value (1)>9 Data bits and parity: 1. 8, NONE *default 2. 8, EVEN 3. 8, ODD 4. 9, NONE (1)>1 Stop bits: 1. 1 *default 2. 2 (1)>1 Receive polarity: 1. Idle 1 *default 2. Idle 0 (1)>1 Select output type: 1. Open drain (H=Hi-Z, L=GND) 2. Normal (H=3.3V, L=GND) (1)>2 Ready UART>(3) UART bridge Reset to exit Are you sure? y After you get into UART Bridge mode, you will have to unplug the usb port from your computer to reset the bus pirate. This is where experimenting with different resistors on the GND/ID pins make a difference. Using 619k resistance, I just plug the phone in and it boots up. During boot up, I can see the PBL output like the output you will see in the rest of this document. Using 150k resistance, the phone doesn't automatically turn on. Also, you may have different usability of the console depending on if you set the output type to Open drain or Normal drain. With Open drain, I am able to see the uart output, but I am not able to break into the SBL prompt like I am with Normal drain. Interestingly, with 619k on my SGH-T959V, I don't see all of the kernel console output. I still haven't figured out exactly why yet. With 150k resistance, I don't see the PBL output, but I can still break into the SBL prompt (with normal drain) and get full kernel console output. When you get to this point, the mode light should now be green. When you plug your phone into the micro usb adapter (again 619k in these examples), you should see everything from the pbl in to the kernel starting: Code: 1 ----------------------------------------------------------- Samsung Primitive Bootloader (PBL) v3.0 Copyright (C) Samsung Electronics Co., Ltd. 2006-2010 ----------------------------------------------------------- +n1stVPN 2688 +nPgsPerBlk 64 +n1stVPN 3008 +nPgsPerBlk 64 PBL found bootable SBL: Partition(4). Set cpu clk. from 400MHz to 800MHz. OM=0x29, device=OnenandMux(Audi) IROM e-fused - Non Secure Boot Version. ----------------------------------------------------------- Samsung Secondary Bootloader (SBL) v3.0 Copyright (C) Samsung Electronics Co., Ltd. 2006-2010 Board Name: ARIES REV 03 Build On: Oct 28 2011 15:45:50 ----------------------------------------------------------- Re_partition: magic code(0x0) [PAM: ] ++FSR_PAM_Init [PAM: ] OneNAND physical base address : 0xb0000000 [PAM: ] OneNAND virtual base address : 0xb0000000 [PAM: ] OneNAND nMID=0xec : nDID=0x60 [PAM: ] --FSR_PAM_Init fsr_bml_load_partition: pi->nNumOfPartEntry = 12 partitions loading success board partition information update.. source: 0x0 .Done. read 1 units. ==== PARTITION INFORMATION ==== ID : IBL+PBL (0x0) ATTR : RO SLC (0x1002) FIRST_UNIT : 0 NO_UNITS : 1 =============================== ID : PIT (0x1) ATTR : RO SLC (0x1002) FIRST_UNIT : 1 NO_UNITS : 1 =============================== ID : EFS (0x14) ATTR : RW STL SLC (0x1101) FIRST_UNIT : 2 NO_UNITS : 40 =============================== ID : SBL (0x3) ATTR : RO SLC (0x1002) FIRST_UNIT : 42 NO_UNITS : 5 =============================== ID : SBL2 (0x4) ATTR : RO SLC (0x1002) FIRST_UNIT : 47 NO_UNITS : 5 =============================== ID : PARAM (0x15) ATTR : RW STL SLC (0x1101) FIRST_UNIT : 52 NO_UNITS : 20 =============================== ID : KERNEL (0x6) ATTR : RO SLC (0x1002) FIRST_UNIT : 72 NO_UNITS : 30 =============================== ID : RECOVERY (0x7) ATTR : RO SLC (0x1002) FIRST_UNIT : 102 NO_UNITS : 30 =============================== ID : FACTORYFS (0x16) ATTR : RW STL SLC (0x1101) FIRST_UNIT : 132 NO_UNITS : 1540 =============================== ID : DATAFS (0x17) ATTR : RW STL SLC (0x1101) FIRST_UNIT : 1672 NO_UNITS : 2120 =============================== ID : CACHE (0x18) ATTR : RW STL SLC (0x1101) FIRST_UNIT : 3792 NO_UNITS : 160 =============================== ID : MODEM (0xb) ATTR : RO SLC (0x1002) FIRST_UNIT : 3952 NO_UNITS : 60 =============================== loke_init: j4fs_open success.. load_lfs_parameters valid magic code and version. reading nps status file is successfully!. nps status=0x504d4f43 load_debug_level reading debug level from file successfully(0x574f4c44). init_fuel_gauge: vcell = 4013mV, soc = 86 check_quick_start_condition- Voltage: 4013.75000, Linearized[74/89/100], Capacity: 89 init_fuel_gauge: vcell = 4013mV, soc = 86, rcomp = d000 reading nps status file is successfully!. nps status=0x504d4f43 PMIC_IRQ1 = 0x20 PMIC_IRQ2 = 0x0 PMIC_IRQ3 = 0x0 PMIC_IRQ4 = 0x0 PMIC_STATUS1 = 0x40 PMIC_STATUS2 = 0x0 get_debug_level current debug level is 0x574f4c44. aries_process_platform: Debug Level Low keypad_scan: key value ----------------->= 0x0 CONFIG_ARIES_REV:48 , CONFIG_ARIES_REV03:48 check_download: micorusb_status1 = 400, key_value = 0 aries_process_platform: final s1 booting mode = 0 DISPLAY_PATH_SEL[MDNIE 0x1]is on MDNIE setting Init start!! vsync interrupt is off video interrupt is off [fb0] turn on MDNIE setting Init end!! Autoboot (0 seconds) in progress, press any key to stop get_debug_level current debug level is 0x574f4c44. get_debug_level current debug level is 0x574f4c44. boot_kernel: Debug Level Low FOTA Check Bit Read BML page=, NumPgs= FOTA Check Bit (0xffffffff) Load Partion idx = (6) ..............................done Kernel read success from kernel partition no.6, idx.6. setting param.serialnr=0x3733b898 0x1ffc00ec setting param.board_rev=0x30 setting param.cmdline=console=ttySAC2,115200 loglevel=4 Starting kernel at 0x32000000... == The SBL (Secondary BootLoader) == The most interesting line out of all of that was: Code: Autoboot (0 seconds) in progress, press any key to stop If you happen to hold down the Enter/Return key while booting the phone you will get into the "SBL>" prompt. The Secondary BootLoader is essentially like u-boot. Code: ... DISPLAY_PATH_SEL[MDNIE 0x1]is on MDNIE setting Init start!! vsync interrupt is off video interrupt is off [fb0] turn on MDNIE setting Init end!! Autoboot (0 seconds) in progress, press any key to stop Autoboot aborted.. SBL> If we type help, we will get some commands you can run. Some of these commands are affected by what is set in the environment. Code: SBL> help Following commands are supported: * setenv * saveenv * printenv * help * reset * boot * kernel * format * open * close * erasepart * eraseall * loadkernel * showpart * addpart * delpart * savepart * nkernel * nramdisk * nandread * nandwrite * usb * mmctest * keyread * readadc * usb_read * usb_write * fuelgauge * pmic_read * pmic_write To get commands help, Type "help <command>" SBL> You can get some minimal help for each command: Code: SBL> help loadkernel * Help : loadkernel * Usage : loadkernel load kernel image - loadkernel 0x80A00000 from kernel partition Another set of intersting commands here are the ones that manipulate the environment: setenv saveenv printenv Code: SBL> help setenv * Help : setenv * Usage : setenv [name] [value] . . Modify current environment info on ram SBL> help saveenv * Help : saveenv * Usage : saveenv Save cuurent environment info to flash SBL> help printenv * Help : printenv * Usage : printenv Print current environment info on ram printenv is probably the safest of them to run, so lets try this first. Code: SBL> printenv PARAM Rev 1.3 SERIAL_SPEED : 7 LOAD_RAMDISK : 0 BOOT_DELAY : 0 LCD_LEVEL : 97 SWITCH_SEL : 1 PHONE_DEBUG_ON : 0 LCD_DIM_LEVEL : 0 LCD_DIM_TIME : 6 MELODY_MODE : 1 REBOOT_MODE : 0 NATION_SEL : 0 LANGUAGE_SEL : 0 SET_DEFAULT_PARAM : 0 CUST_KERNEL_DL_COUNT : 0 KERNEL_BINARY_TYPE : 0 VERSION : I9000XXIL CMDLINE : console=ttySAC2,115200 loglevel=4 DELTA_LOCATION : /mnt/rsv PARAM_STR_3 : PARAM_STR_4 : I'm not fully sure what all of these options are, but the ones I know about are SWITCH_SEL and PHONE_DEBUG_ON. I usually turn SWITCH_SEL to 765431. If I turn 2 on, I don't get anything. It would be worthy to test each number in SWITCH_SEL to figure out what number changes what. That maybe specific to the device I have. Setting at least 6543 in SWITCH_SEL will give you kernel log output: Code: setenv SWITCH_SEL 6543 saveenv I also set PHONE_DEBUG_ON to 1: Code: setenv PHONE_DEBUG_ON 1 saveenv When I set this, I get some extended battery statistics like: Code: [BAT] CHR(0) CAS(0) CHS(3) DCR(0) ACP(2) BAT(81,0,0) TE(31) HE(1) VO(3926) ED(1000) RC(0) CC(0) VF(591) LO(0) You must remember that after running setenv, you must then run saveenv at least once at the end to save the environment. I believe this environment info is saved to either an offset on the sbl partition or on the param.lfs. It would be useful to find this out, because u-boot has a userspace utility (that you can use from within linux userspace) to modify the u-boot environment. It may be handy to use a tool like that to modify the CMDLINE option during rom flashing time. Also, instead of powering your phone off then on again to put the new settings in place, just run reset from the sbl prompt to reboot the phone with the new settings. Anyways, This is what I have so far. I will be adding more to this as time goes on. Enjoy! -Bryan
Very nice and clear guide! Also check out my Anyway thread on more details about JIG resistances etc. Soon I hope there will be more added to that about building your own Samsung Test Jig...
Setenv switch sel 1234567 Phone debug on 1 This gives you some kernel debugging.
bhundven said: I usually turn SWITCH_SEL to 765431. If I turn 2 on, I don't get anything. It would be worthy to test each number in SWITCH_SEL to figure out what number changes what. Click to expand... Click to collapse AdamOutler said: Setenv switch sel 1234567 Phone debug on 1 This gives you some kernel debugging. Click to expand... Click to collapse Yup. I've got that in there. It's interesting to note that not all bootloaders are created equal. My results are on SGH-T959V.
Any chance that it will work witch Galaxy Ace too?
dragonnn said: Any chance that it will work witch Galaxy Ace too? Click to expand... Click to collapse I'm not sure. The GT-i9001 and the SGH-i717 (at&t galaxy note) also both have the FSA9480 chip, but use Qualcomm chips. I can only get some bootloader output from the SGH-i717: Code: Android Bootloader - UART_DM Initialized!!! [VIBETONZ] ENABLE [VIBETONZ] DISABLE HW_REV = 12 mipi_init : status = 1 HW_REV = 12 start init_charger smb328a_init_charger : is_reboot_mode = 0, vcell = 3975 check valid dcin (0x33) = 0x0 no dcin, skip init_charger fuelguage : soc = 80%, vcell = 3975mV fuelguage : rcomp(0xd01f) ==?? 0xd0d0 HW_REV = 12 VReset : 0x8c Hibernation mode : 0x0 8340 = ( 397500 - 334350 ) * 13207 / 100000 HW_REV = 12 reboot_mode = 0xb6cef249 do key check enter normal booting mode AST_POWERON usable ddi data. HW_REV = 12 HW_REV = 12 E.V.A. said that it might be some debugging setting in the kernel that might have disabled the kernel log output. It would be helpful to get some MSM developers here to help us out with that!
bhundven said: I'm not sure. The GT-i9001 and the SGH-i717 (at&t galaxy note) also both have the FSA9480 chip, but use Qualcomm chips. I can only get some bootloader output from the SGH-i717: Click to expand... Click to collapse I looked in the kernel source and it have ./drivers/i2c/chips/fsa9280.c and the driver is included in the build kernel:good:. As far I understand we can using this method recovery the phone from hard brick? That will be really nice, my friend bricked his Ace, maybe he can use this method.
dragonnn said: I looked in the kernel source and it have ./drivers/i2c/chips/fsa9280.c and the driver is included in the build kernel:good:. As far I understand we can using this method recovery the phone from hard brick? That will be really nice, my friend bricked his Ace, maybe he can use this method. Click to expand... Click to collapse Currently, I only know this method to work on SGS( not sgs2 or sgs3 ) phones with the FSA9480.
bhundven said: Yup. I've got that in there. It's interesting to note that not all bootloaders are created equal. My results are on SGH-T959V. Click to expand... Click to collapse The switches are messages from levels 1-7. Turn on more to get more messages.
AdamOutler said: The switches are messages from levels 1-7. Turn on more to get more messages. Click to expand... Click to collapse That makes sense, but what doesn't is if I set SWITCH_SEL to 1234567 or any combination with 2, I get no output. As long as I don't have 2 in there, it works fine. Must just be this device.
Memory Architecture Of course each device will have a different Memory Map. Each carrier designs their varient based on what they want and need to function. The MM is sectioned off in the ROM. Any user or modifiable area is stored in RAM so remember we are working in an area that is not supposed to touched (ROM). Bootloaders are tricky beasts, have never developed a flashing algorithm so I don't know. Usually BLs are not updated after release ( atleast in my field) only sw/fw is. Either way, excellent ideas, but there is always a way in!
Fly-n-High said: Of course each device will have a different Memory Map. Each carrier designs their varient based on what they want and need to function. The MM is sectioned off in the ROM. Any user or modifiable area is stored in RAM so remember we are working in an area that is not supposed to touched (ROM). Bootloaders are tricky beasts, have never developed a flashing algorithm so I don't know. Usually BLs are not updated after release ( atleast in my field) only sw/fw is. Either way, excellent ideas, but there is always a way in! Click to expand... Click to collapse huh?
Good post Nice...!! Thanks you~
can't get SBL or PBL logs on uart in galaxy-y (GT-S5360) Hello sir, Thanks for your great tutorial . I Tried to get uart on galaxy-y (GT-S5360) . I got a working uart but can't see any PBL or SBL logs during the boot. The only log I see during the booting is Code: AST_POWERON.. BOOTING COMPLETED After booting, uart works fine and i can use a shell via serial using command (on phone) Code: busybox sh</dev/ttyS0 >/dev/ttyS0 and on PC Code: microcom -s 115200 -p /dev/ttyS0 ttyS0 settings of the phone is Code: speed 115200 baud; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke And that of PC is Code: speed 115200 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt -echoctl echoke cat /proc/cmdline of phone is Code: console=ttyS0,115200n8 mem=362M kmemleak=off root=/dev/ram0 rw androidboot.console=ttyS0 mtdparts=bcm_umi-nand:[email protected](bcm_boot)ro,[email protected](loke)ro,[email protected](loke_bk)ro,[email protected](systemdata)ro,[email protected](modem)ro,[email protected](param_lfs)rw,[email protected](boot)ro,[email protected](boot_backup)ro,[email protected](system)rw,[email protected](cache)rw,[email protected](userdata)rw,[email protected](efs)rw,[email protected](sysparm_dep)ro,[email protected](umts_cal)ro,[email protected](cal)r BOOT_MODE=0 loglevel=0 BOOT_FOTA=0 DEBUG_LEVEL=LOW Circuit diagram is attached below any one please help
harish2704 said: I Tried to get uart on galaxy-y (GT-S5360) . I got a working uart but can't see any PBL or SBL logs during the boot. The only log I see during the booting is Code: AST_POWERON.. BOOTING COMPLETED Click to expand... Click to collapse I get something similar on a Samsung Rugby Smart (SGH-I847). I think they have tweaked the UART stuff on the newer devices that post date the Galaxy S devices. They might share the UART chip, but it seems as if they changed the loader implementation which is causing the newer devices to not see the PBL and SBL information during boot. harish2704 said: Circuit diagram is attached below Click to expand... Click to collapse Have you tried a 150k or 619k resistor instead of the 523k? I was able to get output with both a 150k and 619k, but the output was very similar to what you have posted. Likely a long shot, but worth a try. harish2704 said: cat /proc/cmdline of phone is Code: console=ttyS0,115200n8 mem=362M kmemleak=off root=/dev/ram0 rw androidboot.console=ttyS0 mtdparts=bcm_umi-nand:[email protected](bcm_boot)ro,[email protected](loke)ro,[email protected](loke_bk)ro,[email protected](systemdata)ro,[email protected](modem)ro,[email protected](param_lfs)rw,[email protected](boot)ro,[email protected](boot_backup)ro,[email protected](system)rw,[email protected](cache)rw,[email protected](userdata)rw,[email protected](efs)rw,[email protected](sysparm_dep)ro,[email protected](umts_cal)ro,[email protected](cal)r BOOT_MODE=0 loglevel=0 BOOT_FOTA=0 DEBUG_LEVEL=LOW Click to expand... Click to collapse Do you have any control over this? It might be the case that ttyS0 isn't setup during early-boot and you need to use a different tty to get it to output over the FSA chip.
Have you tried a 150k or 619k resistor instead of the 523k? Click to expand... Click to collapse yes I tried I didn't feel any difference b/w 619k & 523k when tried. And with 150k, I couldn't get uart active () Do you have any control over this? It might be the case that ttyS0 isn't setup during early-boot and you need to use a different tty to get it to output over the FSA chip Click to expand... Click to collapse . What you mean by control? You mean, can i change this parameters? yes its possible by reflashing (update.zip methode) Or you mean do i have control on ttyS0 device? yes I could change that by Code: busybox stty -F /dev/ttyS0 .......... command Sorry for my language
harish2704 said: What you mean by control? You mean, can i change this parameters? yes its possible by reflashing (update.zip methode) Click to expand... Click to collapse This is the method I was referring to. If you tweak the parameters you might be able to get the kernel log over serial. Sent from my SAMSUNG-SGH-I547 using Tapatalk 2
Can you please describe about the tweaks i have to do... in my knowledge, kernel param Code: console=ttyS0,115200n8 is enough for that.... So please specify the tweaks...
harish2704 said: Can you please describe about the tweaks i have to do... in my knowledge, kernel param Code: console=ttyS0,115200n8 is enough for that.... So please specify the tweaks... Click to expand... Click to collapse If you can interact with ttyS0 post-boot I'd expect it to work. Is there maybe anther serial device such as ttyHS0 or similar that you can interact with? If so, that might be something to try.
You need to change that ttyS0 to ttySAC2 in the boot parameters. Use the abootimg tool on Ubuntu. Apt-get install abootimg.
[Q] ppp widget not working
Dear friends, I have rooted nexus 7 2012, and installed PPP widget. I have configured the APN. It says "connected", but the internet is not working. Here is the PPP widget log, please help me: PPP Widget version 1.3.3 USB_ModeSwitch log from Mon Dec 23 15:00:41 IST 2013 Raw args from udev: 2-1/2-1:1.0 Using top device dir /sys/bus/usb/devices/2-1 ---------------- USB values from sysfs: manufacturer USB Modem product USB Modem serial 1234567890ABCDEF ---------------- bNumConfigurations is 1 - don't check for active configuration SCSI attributes not needed, moving on checking config: /data/data/de.draisberghof.pppwidget/app_tmp/1c9e.f000 ! matched. Reading config data devList 1: config: TargetVendor set to 1c9e config: TargetProductList set to 9000,9603,9605,9607 Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1 Command to be run: usb_modeswitch -I -W -D -s 20 -u -1 -b 2 -g 2 -v 1c9e -p f000 -f $cB Verbose debug output of usb_modeswitch and libusb follows (Note that some USB errors are to be expected in the process) -------------------------------- Reading long config from command line * usb_modeswitch: handle USB devices with multiple modes * Version 1.2.7 (C) Josua Dietze 2012 * Based on libusb0 (0.1.12 and above) ! PLEASE REPORT NEW CONFIGURATIONS ! DefaultVendor= 0x1c9e DefaultProduct= 0xf000 TargetVendor= 0x1c9e TargetProduct= not set TargetClass= not set TargetProductList="9000,9603,9605,9607" DetachStorageOnly=0 HuaweiMode=0 SierraMode=0 SonyMode=0 QisdaMode=0 QuantaMode=0 GCTMode=0 KobilMode=0 SequansMode=0 MobileActionMode=0 CiscoMode=0 BlackberryMode=0 PantechMode=0 MessageEndpoint= not set MessageContent="55534243123456788000000080000606f50402527000000000000000000000" NeedResponse=0 ResponseEndpoint= not set InquireDevice disabled Success check enabled, max. wait time 20 seconds System integration mode enabled Use given bus/device number: 002/002 ... Looking for default devices ... bus/device number matched searching devices, found USB ID 1c9e:f000 found matching vendor ID found matching product ID adding device Found device in default mode, class or configuration (1) Skipping the check for the current configuration Using interface number 0 Using endpoints 0x01 (out) and 0x81 (in) USB description data (for identification) ------------------------- Manufacturer: USB Modem Product: USB Modem Serial No.: 1234567890ABCDEF ------------------------- Looking for active driver ... OK, driver found; name unknown, limitation of libusb1 OK, driver "unkown" detached Setting up communication with interface 0 Using endpoint 0x01 for message sending ... Trying to send message 1 to endpoint 0x01 ... OK, message successfully sent Resetting response endpoint 0x81 Resetting message endpoint 0x01 Bus/dev search active, referring success check to wrapper. Bye. ok:busdev -------------------------------- (end of usb_modeswitch output) Checking success of mode switch for max. 20 seconds ... Reading attributes ... Reading attributes ... Mode switch has completed Mode switching was successful, found 1c9e:9605 (USB Modem: USB Modem) Device class of first interface is ff Now checking for bound driver ... Driver has bound, device is known All done, exiting