Modify and extract a Stock ROM from any Android phone

Discussion in 'Android' started by Mr.X, Apr 4, 2022.

  1. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    8,575
    15,646
    270
    #1 Mr.X, Apr 4, 2022
    Last edited: Apr 4, 2022
    I'm completely new to this. I've read some info but not sure what to think or start.

    Is it possible after powering on a phone to:

    1)Install all system updates
    2)Remove all bloatware apps, not only those from Google/Android system themselves but Network Operator's apps as well
    3)Extract and make a backup of this modded firmware
    4)Obviously, be able to flash it back once it's needed

    I know this is a very extensive topic but I need guidance. Please.
     
  2. vladnil

    vladnil MDL Senior Member

    Jan 19, 2019
    463
    317
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. vladnil

    vladnil MDL Senior Member

    Jan 19, 2019
    463
    317
    10
    HELP

    ADB (Android Debug Bridge) is a tool that is installed along with the Android-SDK and allows you to control your Android device.
    Works on all Android devices, where this functionality was not intentionally blocked by the manufacturer.
    Hereinafter: PC - PC, a computer to which the device is connected.
    ADB - console application for PC, which is used to debug Android devices, including emulators.
    It works on a client-server principle. The first time you run ADB with any command, it creates a server as a system service (daemon) that will listen to all the commands sent to port 5037.
    The official page
    ADB allows you to:
    See what devices are connected and can work with ADB.
    View logs.
    Copy files to/from device.
    Install/Uninstall applications.
    Delete (clear) the data section.
    Flash (overwrite) the data section.
    Run various control scripts.
    Control some network parameters.
    ADB is supplied as part of the Android Developer's Toolkit (Android SDK), which in turn is part of Android Studio.

    Unpack the archive (it is recommended to unpack to the root of the disk or to another folder that does not contain Russian letters and spaces in the path). For example: C:\\adb
    Connection settings, devices. Drivers.
    We set up the phone.
    To do this, go to: "Settings" - "About phone" - press the build number 7 times. In settings for developers activate debugging via USB.
    When the USB cable is connected, select "File Transfer".
    Check the connection on the computer.
    Go to the previously unpacked utilities folder. In it, in the address bar of the folder, at the top, type - "cmd" (without the quotes) and press Enter.
    Check if the device is available and if the drivers are installed correctly. To do this, run an adb or fastboot command:
    adb devices
    fastboot devices
    If everything is good, the drivers are installed successfully and the phone is connected correctly - you will see the following answer:
    <device serial number> device
    or
    <serial number of device> fastboot

    The installation I described earlier all the actions Briefly

    Since adb/fastboot are console utilities, you have to work with them from the command line.
    Go to the previously unpacked folder with the utilities. In it, in the address bar of the folder, at the top, write - "cmd" (without the quotes) and press Enter.
    Then work through the commands you need.
    adb -d Command is sent only to the device connected via USB.
    Note: It will generate an error if more than one device is connected.

    adb -e Command is sent to the device in the emulator.
    Warning: It will error if more than one emulator is plugged.

    adb -s <device_serial_number> The command is sent to the device with the specified serial number:

    adb -p <device_name or path> The command is sent to the device with the specified name:
    If the -p switch is not specified, the value of the ANDROID_PRODUCT_OUT variable is used.

    adb devices A list of all connected devices.

    adb connect <host>[:<port>] Connect to android host via TCP/IP on port 5555 (default if not specified).

    adb disconnect [<host>[:<port>]] Disconnect from android connected via TCP/IP port 5555 (default if not set).
    Disconnect from all active connections if no parameter is set.

    adb push <path to PC> <path to android> Copy file/folder PC->device.

    adb pull <path to android> [<path to PC>] Copy file/folder device->PC.

    adb sync [<directory>] Copy PC->device only new files.
    Keys:
    -l Do not copy, only create a list.

    adb shell Starts a simplified unix shell.
    Examples of usage

    adb emu <command> Send command to emulator console

    adb install [-l] [-r] [-s] <application_name.apk> Send application to device and install it.
    Example: adb install c:/adb/app/autostarts.apk Install autostarts.apk file lying in /adb/app/ folder on c drive:
    Keys:
    -l Lock the application
    -r Reinstall the application, saving your data
    -s Install the application on the memory card
    Install split apk

    adb uninstall [-k] <application_name.apk> Uninstall the application from the device.
    Keys:
    -k Do not delete saved app and user data.

    adb wait-for-device Wait for device to connect.

    adb start-server Start service/daemon.

    adb kill-server Stop the service/daemon.

    adb get-state Get status:
    offline Off.
    bootloader In boot mode.
    device In run mode.

    adb get-serialno Get serial number.

    adb status-window Continuous status polling.

    adb remount Remount for writing. Required for scripts that change data on.

    adb reboot bootloader Reboot into bootloader mode.

    adb reboot recovery Reboot into recovery mode.

    adb root Restarting of the daemon with root privileges

    adb usb Restarting of USB sniffing daemon.

    adb tcpip <port> Restarting the daemon listening on TCP port.

    adb ppp <tty> [parameters] Start the service via USB.
    Note: you should not automatically start a PPP connection. <tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
    Parameters:
    defaultroute debug dump local notty usepeerdns

    FastBoot is a console application for the PC. It is used for actions on partitions

    fastboot devices List of attached devices in fastboot mode.
    fastboot flash <partition> <file> Flushes an .img file to the device partition.

    fastboot erase <partition> Erases partition.
    Partitions: boot, recovery, system, userdata, radio
    Example: fastboot erase userdata Erases user data.

    fastboot update <file_name.zip> Flashing from file name_file.zip

    fastboot flashall flashing boot + recovery + system.

    fastboot getvar <variable_name> Show bootloader variables.
    Example: fastboot getvar version-bootloader Get version of bootloader.

    fastboot boot <kernel> [<ramdisk>] Download and load the kernel.

    fastboot flash:raw boot <kernel> [<ramdisk>] Create a bootimage and flash it.

    fastboot devices Show a list of connected devices.

    fastboot continue Continue with autoload.

    fastboot reboot Reboot the machine.

    fastboot reboot-bootloader Reboot the device into bootloader mode.
    You can use the keys before the fastboot commands:
    -w erase user and cache data
    -s <serial number> Specify the serial number of the device.
    -p <product> Specify the device name.
    -c <cmdline> Override the kernel commandline.
    -i <vendor id> Specify USB vendor id manually.
    -b <base_addr> Specify manually the base address of the kernel.
    -n <page size> Specify nand page size by default 2048.

    Been working on android since 2012.
    I made custom firmware for fun.
    Then I got tired of it.
    Phones are the great Evil now.
    They've turned into terminal servers.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. vladnil

    vladnil MDL Senior Member

    Jan 19, 2019
    463
    317
    10
    If you need a script personally for your phone, so you do not suffer and do not delete unnecessary things from the phone, so as not to turn it into a dead brick!
    Write me the brand of phone I'll make you a script personally on your phone.
    Two variants
    a) make for 3 hours it will be paid (20 US) transfer on WebMoney
    b) wait for two weeks - it will be free
    No time to deal
    Make just a couple of actions

    0.Load platform-tools
    1.Turn on developer mode on your phone
    2.Go into developer mode
    3.Check the box for USB debugging
    4.plug in the USB cable
    5.Install drivers on the phone from the phone
    Run command line
    Enter command line:
    (Specify the path platform-tools folder put the C: drive )
    cd C:\platform-tools
    Then type
    adb devices
    adb shell

    pm list packages

    copy the whole pm list send me and I will make a script which you will enter and remove everything you don't need and block the telemetry.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    18,681
    18,588
    340
  6. vladnil

    vladnil MDL Senior Member

    Jan 19, 2019
    463
    317
    10
    You made me laugh (money deals). :)
    I remotely service four companies, so I have a fixed deal going to fix problems.
    1 hour = 40.715 US
    Three to seven connections a day.
    We all earn by our hard work.

    And the forum is more of a humanitarian aid rather than a bargain
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    8,575
    15,646
    270
    #7 Mr.X, Apr 4, 2022
    Last edited: Apr 4, 2022
    (OP)
    Alcatel U5 3G 4047A -2CTGMX1

    My plan is to service different models when my children buy new ones or relatives phones too not just that one, so I need to learn a standard method to perform the extraction / modding.

    Is it possible to always get phone's information such as model etc without turning off and detaching the battery?

    @Tito @vladnil or anyone
    I edited first post and its title thinking that's more appropriate to ask. Is it ok?
    Please feel free to correct my phrases or technical jargon.
     
  8. vladnil

    vladnil MDL Senior Member

    Jan 19, 2019
    463
    317
    10
    It's simple.
    0.Load platform-tools
    1.Turn on developer mode on your phone
    2.Go into developer mode
    3.Check the box for USB debugging
    4.plug in the USB cable
    5.Install drivers on the phone from the phone
    Run command line
    Enter command line:
    (Specify the path platform-tools folder put the C: drive )
    cd C:\platform-tools
    Then type
    adb devices
    adb shell
    Type and you will see a list of all the junk you have installed.
    pm list packages
    In the playlist you will see Android applications
    Choose unnecessary (depends on phone brand) Uninstall
    pm uninstall -k --user 0 <name of package>

    This method works on any phone.
    Everything will work and update
    The main thing is not to touch the main system work files.


    ActivityNetwork.apk (com.android.activityNose Tool - "Network Diagnose Tool") - Recording network logs using TCPDUMP (as well as some tests, such as Ping, etc.) on the SD card, in the / MNT / SDCard folder / MTKLog / Netlog, called from the engineering menu, "SystemLog-> NetLog" or "SystemLog-> Common UI -> [Network Test]" (if you do not plan to use, delete)

    ApplicationsProvider.apk (com.android.providers.applications - "search service provider") - provides a list of applications installed on the phone. Required to install and delete programs (not delete required for normal operation)

    Atciservice.apk (com.mediatek.atci.service - "ATCI_SERICE") - a service that provides access to FMRADIO functions with the GN_MMITEST application (if you do not plan to use the FM radio test from GN_MMITEST - you can delete)

    BackupRestoreConfirmation.apk (com.android.backupconfirm - "Full recovery") - system component for visualizing backup confirmation or rollback on backup (comment at the beginning of the post)

    Browser.apk (com.android.browser - "browser") - standard browser (if you use alternative, you can delete)

    Calculator.apk (com.android.calculator2 - "Calculator") - a standard calculator (the system does not affect the system, delete optionally)

    Calendar.apk (com.android.calendar - "Calendar") - Standard calendar (if you use alternative, you can delete)

    Calendarimporter.apk (com.mediatek.calendarimporter - "vcalendar") - something related to synchronization (delete if the standard calendar has been removed)

    Calendarprovider.apk (com.android.providers.calendar - "Calendar Memory") - Calendar Synchronization in the phone with Google account, as well as responsible for notifications (delete if the standard calendar has been deleted)

    Camera.apk ("Camera") - This application is responsible for the camera (if you use alternative, you can delete)

    CellConnService.apk (com.mediatek.cellconnservice - "CellConnectionService") - Something related to the choice of SIM (it is better not to delete, necessary for normal operation)

    Certinstaller.apk (com.android.certinstaller - "certificate installation program") - sets certificates for applications. There is an assumption that, without it, you will not be able to assign rights to programs and access certain files and directories, which will be problems with the root (delete optional)

    Contacts.apk (COM.Android.contacts - "Contacts") - responsible for controlling contacts (contacts, groups, call history, etc.) (not delete, you need to work for your phone)

    ContactsProvider.apk (com.android.providers.contacts - "Contact Storage") - gives third-party applications the ability to access your contacts on the device (not delete, you need to work for the phone)

    Defaultcontainerservice.apk (com.android.defcontainer - "Package Access Wizard") - Unpacks Applications for installation (not delete, you need to work for the phone)

    Deskclock.apk (com.android.deskclock - "clock") - Standard application "Clock" (Alarm clock) (Delete optional)

    DownloadProvider.apk (com.android.activityNostwork - "Network Diagnose Tool") - provides loading files manually and from the Market (Do not delete)

    Downloadproviderui.apk (com.android.providers.downloads.ui - "Downloads") - Shell application boot applications from stock browser (if a standard browser deleted, delete)

    DrmProvider.apk (com.android.providers.drm - "Content Storage Protected DRM") - Need to play protected DRM files such as call ringtones and message sounds (if you do not plan to use standard melodies, delete)

    Email.apk (com.android.email - "e-mail") - POP / IMAP email client (if not needed, delete. Gmail does not affect the operation)

    Engineermode.apk (com.mediatek.engineermode - "engineermode") - engineering menu. Called with a combination * # * # 3646633 # * # * (if you do not plan to use, delete)

    Engineermodesim.apk (com.android.simmelock - "EM SIM Me Lock") - SIM-card lock controls, called from the engineering menu, the "SimmeLock" item (when deleted does not work the corresponding item "SimmeLock", the rest of the functionality works)

    Exchange.apk (com.android.exchange - "Exchange services") - needed to work with mail via the Exchange protocol (if corporate mail and planner are used - it is impossible to delete)

    Facebook.apk - Facebook can be deleted if not needed.

    Filemanager.apk () - standard file manager (if you do not plan to use, delete)

    FMRADIO.APK (com.mediatek.fmradio - "FM radio") - FM radio player (if you do not plan to use, delete)

    Galaxy4.apk (com.android.galaxy4 - "black hole") - option "Live wallpaper" (if you do not plan to use this option, delete)

    Gallery2.apk (com.android.gallery3d - "Gallery") - Standard Gallery (if you do not plan to use, delete. At the same time, the task of the contact image from the phone book will not work

    Geniewidget.apk Widget Displays Weather and News forecast

    Gmail.apk (com.google.android.gm - "Gmail") - Google Mail (if you do not plan to use Google Mail, delete, but this will entail a violation of the application Talk.apk)

    Googlebackuptransport.apk (com.google.android.backup - "Google Backup Transport") - Saving settings and everything else on Google servers (if you do not plan to use, delete)

    Googlecalendarsyncadapter.apk (com.google.android.syncadapters.calendar - "Google Calendar Synchronization") - Calendar Synchronization with Google Account (if you do not plan to use, delete)

    Googlecontactssyncadapter.apk (com.google.android.syncadapters.contacts - "Google contact sync") - Synchronization of contacts with Google Account (if you do not plan to use, delete)

    Googlefeedback.apk (com.google.android.feedback - "Market reviews") - sending error reports on Google (if you do not plan to use, delete)

    Googleloginservice.apk (com.google.android.gsf.login - Google Accounts) - Synchronization Parameters. This application responds not only for the synchronization of contacts and calendar, but also the rest associated with Google's account (even if you do not synchronize anything, you should not delete it)

    Googleota.apk () - you need to update through the air (if you do not plan to use update, delete)

    Googleotasysoper.apk () - you need to update through the air (if you do not plan to use the update, delete)

    GoogleServicesFramework.apk (com.google.android.gsf - "Google Services Framework") - Provides Google Services. Only YouTube does not work (if you need a market - we leave)

    GoogleTts.apk (4.x.x.x) - Gugag's voice engine

    Holospiralwallpaper.apk (com.android.wallpaper.holospiral - "holographic spirals") - option "live wallpaper" (if you do not plan to use this option, delete)

    HTMLVIEWER.APK (com.android.htmlViewer - "HTMLViewer") - HTML viewer. Need for Opera Mini functionality and viewing saved HTML pages (if you do not plan to use, delete)

    Internalengineermode.apk (com.mediatek.internalem - "Internalengineermode") - Test application (if you do not plan to use the engineering menu, delete)

    Keychain.apk (com.android.keychain - "main chain") - apparently this is a demon, is associated with the work of certificates and security keys (better not to delete)

    Latinime.apk (com.android.inputMethod.latin - "Android keyboard") - a standard keyboard (even when the alternative keyboard is installed, it is better not to delete, to avoid problems when resetting the phone to factory settings)

    Launcher2.apk (com.android .Launcher - "Launcher") - Standard Loncher (desktop and list of applications / widgets) (Better to leave even if you use alternative to avoid problems after data collection to factory settings)

    LiveWallPapers.apk (com.android.wallpaper - "Android live wallpapers") - a standard set of "live wallpaper" (if you do not plan to use, delete)

    Livewallpaperspicker.apk (com.android.wallpaper.livepicker - "Catalog of living wallpaper") - the choice of live wallpaper (if you do not use "live wallpaper", delete)

    Magicsmokewallpapers.apk (com.android.magicsmoke - "magic smoke") - option "Living wallpaper" (if you do not plan to use this option, delete)

    MarketUpdater.apk - Market Updates. If you do not use the market can be demolished. (by.: sid :.: If you delete, the market itself will stop updating. You can also achieve this by changing the rights of the file, leaving the checkbox in the read-only point item).

    Mediaprovider.apk (com.android.providers.media - "Multimedia Storage") - provides access to the data on the flash drive (required for normal operation, not delete)

    Mediateklocationprovider.apk (com.android.networklocationservice - "mediateklocationprovider") - you need to determine the location on a mobile network (if you do not plan to use this option, delete)

    Mediauploader.apk (com.google.android.apps.uploader - "My downloads") - responsible for downloading images in Picassa (or Facebook as a rule), use younger to download your video to the server (if you do not plan to use this functionality, delete )

    MMS.apk (com.android.mms - "SMS / MMS") - SMS and MMS service. You can replace alternative. However, some alternative applications, such as PANSI, can not receive MMS messages without MMS.apk, but SMS accepts. But the handcetsms makes it without problems with a remote MMS.apk (if you use alternative, delete)

    Mobilelog.apk (com.mediatek.mobileLog - "mobilelog") - writes radio modulog logs (GSM, Bluetooth, etc.) on the SD card, in the / MNT / SDCard / MTKLog / MobileLog folder, called from the engineering menu, item "SystemLog-> MobileLog" or "SystemLog-> Common UI -> [Mobile Log]" (if you do not plan to use this functionality, delete)

    ModemLog.apk (com.mediatek.mdlogger - "modemlog") - writes logs on the SD card, in the folder / MNT / SDCard / MTKLOG / MDLOG, called from the engineering menu, "SystemLog-> Modemlog" or "SystemLog-> Common UI -> [Modem Log] "(if you do not plan to use this functionality, delete)

    Mtkandroidsuitedaemon.apk (com.mediatek.apst.target - "MTK Android Suite Daemon") - something related to synchronization with a computer, apparently utility from MTK (if you do not plan to use, delete)

    Mtkbt.apk (com.mediatek.bluetooth - "bluetooth") - We need to work Bluetooth (do not delete)

    Mtkweatherprovider.apk () - weather from the libraries (if you do not plan to use, delete)

    Mtkweathersetting.apk (com.mediatek.weathersetting - "Weather") - Weather from Media Traffic, Settings (if you do not plan to use, delete)

    Mtkweatherwidget.apk () - weather from the libela, widget (if you do not plan to use, delete)

    Mtkworldclockwidget.apk (com.mediatek.appwidget.worldclock - "world time") - world watch from the libraries, a widget (if you do not plan to use, delete)

    Music.apk (com.android.music - "Music") - Standard Music Player (if you use an alternative, delete)

    Musicfx.apk (com.android.musicfx - "MusicFX") - support for sound effects (if you do not plan to use, delete)

    Networklocation.apk (com.google.android.location - "Network Location") - EUTHT GPS simulation. The program uses the cell (sector on the BS), which is located a telephone to locate without using the GPS receiver, thereby saving battery consumption. In case of deletion, you will need to enter information on your location manually in programs as weather forecast, etc., or include a GPS receiver (if you do not plan to use, delete)

    Noisefield.apk (com.android.noisefield - "bubbles") - option "live wallpaper" (if you do not plan to use this option, delete)

    Omacp.apk (com.mediatek.omacp - "") - It seems that the application displays part of the SMS / MMS message on the curtain. Perhaps something related to the use of settings sent to SMS, and not only. Also, when removing, it seems, the settings of the APN - Mobile Internet (better not delete)

    PackageInstaller.apk (com.android.packageinstaller - "package installation program") - Provides installation of applications (do not delete)

    Phasebeam.apk (com.android.phasebeam - "Phase beam") - option "Live wallpaper" (if you do not plan to use this option, delete)

    Phone.apk (com.android.phone - "phone") - an application responsible for the telephone part. After deleting, you will not be able to dial the number, view calls, etc. (do not delete)

    Picotts.apk (com.svox.pico - "Pico TTS") - Text to Speech, Text progress (if you do not plan to use, delete)


    Protips.apk (com.android.protips - "Main Screen Management Tips") - Widget "Help to Use. Android" (if you do not plan to use, delete)

    Provision.apk (com.android.provision - "") - Saves the setting that the device was prepared (spent a setupwizard) (you can delete)

    QuickSearchbox.apk (com.android.QuickSearchbox - "Search") - Search (if you do not plan to use, delete)

    Settings.apk (com.android.settings - "Parameters") - the phone settings menu (do not delete, it is necessary for normal phone operation)

    SettingsProvider.apk (com.android.providers.settings - "Settings Store") - makes and apply settings obtained in text or service messaging (better left, because some wrote about "drop" programs after removal)

    Setupwizard.apk - no. Theoretically, it can be removed after the first successful load, but difficulties may occur after the sidelines.

    Sharedstoragebackup.apk (com.android.sharedstorageBackup - "") - backup on the Google server (if you do not plan to use, delete)

    SoundRecorder.apk () - voice recorder (if you do not plan to use, delete)

    STK1.APK (com.android.stk - "SIM menu") - SIM tools (do not delete if SIM services are needed)

    STK2.APK (com.android.stk2 - "SIM menu") - SIM tools (do not delete if you need SIM services)

    STKSELECTION.APK (com.mediatek.stkselection - "SIM menu") - SIM tools (do not delete if SIM services are needed)

    Systemui.apk (com.android.systemui - "graphical system interface") - user interfes (all related to the formation of the desktop, curtains and bar status, etc.) (do not delete, you need to work for the phone)

    Talk.apk 983.17KB Yes. Google Talk. There were some disputes regarding the dependences of this application. It was about the removal of Google Talk stopped working Gmail or Market, many said that it was not. So here be careful.

    TaskManager Task Manager

    Telephonyprovider.apk (com.android.providers.telephony - "Memory of numbers / SMS / MMS") - Used to store SMS, contacts and calls (do not delete, you need to work for the phone)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    18,681
    18,588
    340
  10. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    18,681
    18,588
    340
    You should be able to extract those strings using one of the prop readers, but they can be ignored. The actual identifiable model number is the "Alcatel U5 3G 4047A" part.
     
  11. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    8,575
    15,646
    270
    #13 Mr.X, Apr 6, 2022
    Last edited: Apr 6, 2022
    (OP)
    Sorry I do not follow you. I wrote I couldn't get such string even though I ran both readers.
    Both readers display this basic info about model:
    Code:
    Device Model: Alcatel U5 3G
    Device Type: Phone
    Manufacturer: TCL
    Model: 4047A
    Brand: TCL
    Board: MT6580M
    Device: U5_3G
    Hardware: mt6580
    Platform: mt6580
    Product: 4047A
    . . .
    . .
    .
    

    @vladnil
    I'm gonna put in practice your commands as soon as a I solve another questions and issues I'm intrigued and need to understand...
     
  12. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    8,575
    15,646
    270
  13. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    8,575
    15,646
    270
    Attempting to fix it with solution 1:
    Did not work out
    scatter file error 2.png

    As you can see now the only one that to work is userdata partition, so it seems, not sure.
    The rest throw such error "Please check the load image file is correct or not?"
     
  14. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    8,575
    15,646
    270
    Attempting to fix it with solution 2:
    SP Flash Tool error 3.png

    I changed all partitions found in scatter file from boundary_check: ture to boundary_check: false but it didn't work either.